Function at 0x447e34
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [0x552064]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x30], edx
mov edi, ecx
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebx
test edx, edx
je 0x446acc
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
cmp eax, 3
ja case.default.0x446941
jmp dword [eax*4 + 0x4481d8]
cmp edx, 1
jbe 0x446acc
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
jmp 0x446ad4
cmp edx, 1
jbe 0x446975
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 4]
cmp edx, 2
jbe 0x446977
mov eax, dword [eax + 8]
jmp 0x446979
xor esi, esi
xor eax, eax
cmp esi, eax
mov edi, eax
cmovle edi, esi
cmovle esi, eax
sub esi, edi
mov dword [esp + 0x1c], edi
inc esi
jmp 0x446add
cmp edx, 1
jbe 0x4469be
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 4]
test edx, edx
je 0x4469be
mov eax, dword [0x5645d8]
mov ecx, dword [0x5645d4]
sub eax, ecx
sar eax, 2
cmp eax, edx
jbe 0x4469be
mov edi, dword [ecx + edx*4]
mov dword [esp + 0x1c], edi
jmp 0x446ad8
xor edi, edi
mov dword [esp + 0x1c], edi
jmp 0x446ad8
cmp edx, 1
jbe 0x4469f1
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 4]
test esi, esi
je 0x4469f1
mov eax, dword [0x5645d8]
mov ecx, dword [0x5645d4]
sub eax, ecx
sar eax, 2
cmp eax, esi
jbe 0x4469f1
mov esi, dword [ecx + esi*4]
jmp 0x4469f3
xor esi, esi
cmp edx, 2
jbe 0x446977
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
test edx, edx
je 0x446977
mov eax, dword [0x5645d8]
mov ecx, dword [0x5645d4]
sub eax, ecx
sar eax, 2
cmp eax, edx
jbe 0x446977
mov eax, dword [ecx + edx*4]
jmp 0x446979
cmp edx, 1
jbe 0x446a37
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
jmp 0x446a39
xor eax, eax
cmp eax, edx
jge 0x446abb
mov esi, dword [ebx + 0x10]
jae 0x446a47
mov ecx, dword [esi + eax*4]
jmp 0x446a49
xor ecx, ecx
inc ecx
mov dword [esp + 0x54], edi
add ecx, eax
mov dword [esp + 0x5c], esi
cmp ecx, edx
mov dword [esp + 0x68], 0
lea eax, [eax*4 + 4]
cmovg ecx, edx
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0x58], edx
movups xmm0, xmmword [esp + 0x54]
lea eax, [ecx*4]
mov dword [esp + 0x64], eax
movups xmmword [0x5570ec], xmm0
movq xmm0, qword [esp + 0x64]
movq qword [0x5570fc], xmm0
call fcn.00444a50
mov esi, dword [0x557100]
mov edi, eax
mov dword [esp + 0x1c], edi
cmp edi, esi
jle 0x446ab6
mov edi, esi
mov dword [esp + 0x1c], esi
mov esi, eax
sub esi, edi
inc esi
jmp 0x446add
xor edi, edi
mov esi, 1
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], esi
jmp 0x446af9
mov dword [esp + 0x1c], 0
mov edi, dword [esp + 0x1c]
mov esi, 1
mov dword [esp + 0x2c], esi
test edi, edi
jns 0x446af9
add esi, edi
xor edi, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edi
test esi, esi
jle 0x4481ad
mov eax, dword [0x5645d8]
lea ecx, [esi + edi]
sub eax, dword [0x5645d4]
sar eax, 2
cmp eax, ecx
ja 0x446b1c
lea eax, [ecx + 1]
mov ecx, 0x5645d4
push eax
call fcn.004519a0
movsd xmm4, qword [0x5455a8]
movsd xmm3, qword [0x545510]
mov esi, dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov edx, 4
mov ecx, ebx
call fcn.00456dc0
cmp eax, 0x19
ja case.default.0x446d2d
jmp dword [eax*4 + 0x4481e8]
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 5
mov ecx, ebx
call fcn.004a24d0
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 5
mov ecx, ebx
call fcn.004a2500
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x446bc1
sub eax, 1
je 0x446bba
call fcn.004a2500
jmp 0x446bc6
call fcn.004a24d0
jmp 0x446bc6
call fcn.00456dc0
sar esi, 4
mov edx, 6
and esi, 0xf
mov dword [esp + 0x18], eax
mov ecx, ebx
sub esi, 0
je 0x446bef
sub esi, 1
je 0x446be8
call fcn.004a2500
jmp 0x446bf4
call fcn.004a24d0
jmp 0x446bf4
call fcn.00456dc0
mov edx, dword [esp + 0x18]
mov ecx, eax
cmp edx, ecx
mov ebx, ecx
cmovle ebx, edx
imul edi, dword [0x563db0], 0x8088405
inc edi
cmp edx, ecx
mov dword [0x563db0], edi
cmovle edx, ecx
mov eax, edx
cdq
mov esi, eax
mov ecx, edx
mov eax, ebx
cdq
sub esi, eax
sbb ecx, edx
add esi, 1
adc ecx, 0
mov eax, ecx
mul edi
mov dword [esp + 0x18], eax
mov eax, esi
mov esi, dword [esp + 0x18]
mul edi
add esi, edx
mov dword [esp + 0x20], eax
add esi, ebx
mov ebx, dword [esp + 0x38]
jmp 0x4478a7
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov edx, 5
sub eax, 0
je 0x446c75
sub eax, 1
je 0x446c6e
call fcn.004a2500
jmp 0x446c7a
call fcn.004a24d0
jmp 0x446c7a
call fcn.00456dc0
mov edx, 6
mov ecx, ebx
mov esi, eax
call fcn.00456dc0
test eax, eax
jne 0x446cd3
xor ecx, ecx
cmp dword [0x5605f0], ecx
jle case.default.0x446d2d
nop word [eax + eax]
mov eax, dword [0x5605f4]
movzx eax, word [eax + ecx*2]
cmp eax, esi
je 0x446cc1
inc ecx
cmp ecx, dword [0x5605f0]
jl 0x446ca0
xor esi, esi
mov dword [esp + 0x18], esi
jmp 0x4478af
mov eax, dword [0x5605f8]
movzx esi, byte [eax + ecx]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, esi
call fcn.00472550
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov edx, 5
sub eax, 0
je 0x446d0e
sub eax, 1
je 0x446d07
call fcn.004a2500
jmp 0x446d13
call fcn.004a24d0
jmp 0x446d13
call fcn.00456dc0
mov ecx, eax
call fcn.004800c0
mov esi, eax
mov edx, 6
mov ecx, ebx
call fcn.00456dc0
cmp eax, 0x11
ja case.default.0x446d2d
jmp dword [eax*4 + 0x448250]
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov edx, 5
sub eax, 0
je 0x446d5d
sub eax, 1
je 0x446d56
call fcn.004a2500
jmp 0x446d62
call fcn.004a24d0
jmp 0x446d62
call fcn.00456dc0
push dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.00453d40
add esp, 4
mov edx, 6
mov ecx, ebx
mov esi, eax
call fcn.00456dc0
cmp eax, edx
ja case.default.0x446d2d
jmp dword [eax*4 + 0x448298]
mov esi, dword [esi + 9]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [esi + 0xd]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [esi + 0x11]
mov dword [esp + 0x18], esi
jmp 0x4478af
movzx eax, byte [esi + 0x16]
and eax, 3
movsx esi, byte [eax + 0x544ac0]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, esi
call fcn.004895a0
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, esi
call fcn.00489670
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
cmp esi, 0x560528
jne 0x446e06
mov esi, 0x2711
mov dword [esp + 0x18], esi
jmp 0x4478af
cmp esi, 0x5637e0
jne 0x446e1c
mov esi, 0x2712
mov dword [esp + 0x18], esi
jmp 0x4478af
cmp esi, 0x563750
jne 0x446e32
mov esi, 0x2713
mov dword [esp + 0x18], esi
jmp 0x4478af
cmp esi, 0x5636c0
jne case.0x446d2d.15
mov esi, 0x2714
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [esi + 4]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
cmp eax, 0xd
ja case.default.0x446e69
jmp dword [eax*4 + 0x4482b4]
mov esi, dword [0x560600]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov eax, 0x88888889
imul dword [0x560614]
add edx, dword [0x560614]
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [0x5605e8]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [0x564680]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [0x56061b]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [0x56061f]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [0x560623]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [0x560627]
mov dword [esp + 0x18], esi
jmp 0x4478af
call fcn.00495790
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov eax, 0x88888889
imul dword [0x560633]
add edx, dword [0x560633]
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x18], esi
jmp 0x4478af
lea eax, [esp + 0x6c]
push eax
call esi
movzx eax, word [esp + 0x6c]
xor edx, edx
mov ecx, 0x3e8
div ecx
movzx eax, word [esp + 0x6e]
imul ecx, edx, 0x64
add ecx, eax
movzx eax, word [esp + 0x72]
imul esi, ecx, 0x64
add esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
lea eax, [esp + 0x54]
push eax
call esi
movzx eax, word [esp + 0x5c]
xor edx, edx
mov ecx, 0x3e8
div ecx
movzx eax, word [esp + 0x5e]
imul ecx, edx, 0x64
add ecx, eax
movzx eax, word [esp + 0x60]
imul esi, ecx, 0x64
add esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [0x5645b4]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, 0x33842
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov edx, 5
sub eax, 0
je 0x446fdb
sub eax, 1
je 0x446fd4
call fcn.004a2500
jmp 0x446fe0
call fcn.004a24d0
jmp 0x446fe0
call fcn.00456dc0
mov esi, eax
mov eax, dword [0x55f180]
cmp dword [eax + 4], esi
jb 0x4481bf
mov eax, dword [eax + 8]
mov edx, 6
mov ecx, ebx
mov esi, dword [eax + esi*4]
call fcn.00456dc0
cmp eax, 9
ja case.default.0x446d2d
jmp dword [eax*4 + 0x4482ec]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [esi + 0x14]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, dword [esi + 0xc4]
call fcn.00453b60
mov esi, dword [eax + 0x10]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, dword [esi + 0xc4]
call fcn.00453b60
mov esi, dword [eax + 0x14]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, esi
call fcn.0045ed10
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, esi
call fcn.0045eda0
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, esi
call fcn.0045ee30
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov ecx, esi
call fcn.0045eec0
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [esi + 0xc4]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov eax, 0x57619f1
imul dword [esi + 0x3c]
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov edx, 5
sub eax, 0
je 0x4470f3
sub eax, 1
je 0x4470ec
call fcn.004a2500
jmp 0x4470f8
call fcn.004a24d0
jmp 0x4470f8
call fcn.00456dc0
mov ecx, eax
cmp ecx, dword [0x5605e8]
jae 0x44711a
mov eax, dword [0x5605ec]
movzx ecx, word [eax + ecx*2]
call fcn.004800c0
mov esi, eax
test esi, esi
jne 0x446d1c
mov eax, dword [0x56063c]
mov edx, dword [eax + 4]
test edx, edx
jle 0x447137
mov eax, dword [eax + 8]
mov eax, dword [eax + edx*4 - 4]
cmp dword [eax + 4], 0
jl 0x4481c9
xor ecx, ecx
nop dword [eax]
cmp ecx, edx
jge 0x4481c9
mov eax, dword [0x56063c]
mov eax, dword [eax + 8]
mov esi, dword [eax + ecx*4]
cmp dword [esi + 4], 0
je 0x446d1c
inc ecx
jmp 0x447140
mov esi, dword [esi + 0xe0]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov esi, dword [esi + 0xe4]
mov dword [esp + 0x18], esi
jmp 0x4478af
push esi
call fcn.00479200
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
jmp 0x4478af
push esi
call fcn.00479270
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
jmp 0x4478af
movzx esi, word [esi + 0x2fc]
mov dword [esp + 0x18], esi
jmp 0x4478af
movzx esi, word [esi + 0x2fe]
mov dword [esp + 0x18], esi
jmp 0x4478af
movzx esi, word [esi + 0x300]
mov dword [esp + 0x18], esi
jmp 0x4478af
movzx esi, word [esi + 0x302]
mov dword [esp + 0x18], esi
jmp 0x4478af
movzx esi, word [esi + 0x304]
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, dword [esi + 0xe0]
mov ecx, esi
inc edx
call fcn.00478fe0
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 6
mov ecx, ebx
call fcn.00456dc0
mov edx, 5
test eax, eax
je 0x447235
call fcn.004a2540
movzx esi, al
mov dword [esp + 0x18], esi
jmp 0x4478af
call fcn.004a24a0
movzx esi, al
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x447274
sub eax, 1
je 0x44726d
call fcn.004a2500
jmp 0x447279
call fcn.004a24d0
jmp 0x447279
call fcn.00456dc0
sar esi, 4
mov edi, eax
mov edx, 6
mov ecx, ebx
sub esi, 0
je 0x44729d
sub esi, 1
je 0x447296
call fcn.004a2500
jmp 0x4472a2
call fcn.004a24d0
jmp 0x4472a2
call fcn.00456dc0
movd xmm1, eax
movd xmm0, edi
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
call fcn.00522540
sub esp, 8
movsd qword [esp], xmm0
call fcn.0050322a
movsd xmm1, qword [0x545630]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
comisd xmm1, xmm0
jb 0x4472e9
mov esi, DirectSoundCreate
jmp 0x4478a7
comisd xmm0, xmmword [0x545608]
jb 0x4472fd
mov esi, DirectSoundCreate
jmp 0x4478a7
sub esp, 8
movsd qword [esp], xmm0
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si esi, qword [esp + 0x28]
add esp, 8
jmp 0x4478a7
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x44734a
sub eax, 1
je 0x447343
call fcn.004a2500
jmp 0x44734f
call fcn.004a24d0
jmp 0x44734f
call fcn.00456dc0
sar esi, 4
mov edi, eax
mov edx, 6
mov ecx, ebx
sub esi, 0
je 0x447373
sub esi, 1
je 0x44736c
call fcn.004a2500
jmp 0x447378
call fcn.004a24d0
jmp 0x447378
call fcn.00456dc0
mov esi, eax
xorps xmm1, xmm1
mov eax, edi
cdq
xor eax, edx
sub eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x447398
sqrtsd xmm0, xmm0
jmp 0x44739d
call fcn.00523260
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd xmm1, qword [0x545630]
comisd xmm1, xmm0
jb 0x4473ca
mov eax, DirectSoundCreate
mov esi, eax
neg esi
test edi, edi
cmovns esi, eax
jmp 0x4478a7
comisd xmm0, xmmword [0x545608]
jb 0x4473e7
mov eax, DirectSoundCreate
mov esi, eax
neg esi
test edi, edi
cmovns esi, eax
jmp 0x4478a7
sub esp, 8
movsd qword [esp], xmm0
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si eax, qword [esp + 0x28]
add esp, 8
mov esi, eax
neg esi
test edi, edi
cmovns esi, eax
jmp 0x4478a7
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x44743d
sub eax, 1
je 0x447436
call fcn.004a2500
jmp 0x447442
call fcn.004a24d0
jmp 0x447442
call fcn.00456dc0
sar esi, 4
mov edx, 8
mov dword [esp + 0x18], eax
mov ecx, ebx
sub esi, 0
je 0x447468
sub esi, 1
je 0x447461
call fcn.004a2500
jmp 0x44746d
call fcn.004a24d0
jmp 0x44746d
call fcn.00456dc0
movd xmm2, dword [esp + 0x18]
mov edx, 6
mov ecx, ebx
mov edi, eax
cvtdq2pd xmm2, xmm2
call fcn.00456dc0
mov esi, eax
test edi, edi
jne 0x4474c6
mulsd xmm2, xmm3
divsd xmm2, xmm4
movaps xmm0, xmm2
call fcn.00523090
movd xmm1, esi
sub esp, 8
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si esi, qword [esp + 0x28]
add esp, 8
jmp 0x4478a7
movd xmm1, edi
cvtdq2pd xmm1, xmm1
divsd xmm2, xmm1
mulsd xmm2, xmm3
divsd xmm2, xmm4
movaps xmm0, xmm2
call fcn.00523090
movd xmm1, esi
sub esp, 8
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si esi, qword [esp + 0x28]
add esp, 8
jmp 0x4478a7
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x44753b
sub eax, 1
je 0x447534
call fcn.004a2500
jmp 0x447540
call fcn.004a24d0
jmp 0x447540
call fcn.00456dc0
sar esi, 4
mov edx, 8
mov dword [esp + 0x18], eax
mov ecx, ebx
sub esi, 0
je 0x447566
sub esi, 1
je 0x44755f
call fcn.004a2500
jmp 0x44756b
call fcn.004a24d0
jmp 0x44756b
call fcn.00456dc0
movd xmm2, dword [esp + 0x18]
mov edx, 6
mov ecx, ebx
mov edi, eax
cvtdq2pd xmm2, xmm2
call fcn.00456dc0
mov esi, eax
test edi, edi
jne 0x4475c4
mulsd xmm2, xmm3
divsd xmm2, xmm4
movaps xmm0, xmm2
call fcn.00521e10
movd xmm1, esi
sub esp, 8
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si esi, qword [esp + 0x28]
add esp, 8
jmp 0x4478a7
movd xmm1, edi
cvtdq2pd xmm1, xmm1
divsd xmm2, xmm1
mulsd xmm2, xmm3
divsd xmm2, xmm4
movaps xmm0, xmm2
call fcn.00521e10
movd xmm1, esi
sub esp, 8
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si esi, qword [esp + 0x28]
add esp, 8
jmp 0x4478a7
mov edx, 8
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x447639
sub eax, 1
je 0x447632
call fcn.004a2500
jmp 0x44763e
call fcn.004a24d0
jmp 0x44763e
call fcn.00456dc0
sar esi, 4
mov edx, 6
mov dword [esp + 0x18], eax
mov ecx, ebx
sub esi, 0
je 0x447664
sub esi, 1
je 0x44765d
call fcn.004a2500
jmp 0x447669
call fcn.004a24d0
jmp 0x447669
call fcn.00456dc0
mov edx, 7
mov ecx, ebx
mov edi, eax
call fcn.00456dc0
movd xmm0, dword [esp + 0x18]
mov esi, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
call fcn.00521de0
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
sub esp, 8
mulsd xmm0, qword [0x545578]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si esi, qword [esp + 0x28]
add esp, 8
jmp 0x4478a7
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x44770f
sub eax, 1
je 0x447708
call fcn.004a2500
jmp 0x447714
call fcn.004a24d0
jmp 0x447714
call fcn.00456dc0
sar esi, 4
mov edi, eax
mov edx, 6
mov ecx, ebx
sub esi, 0
je 0x44774c
sub esi, 1
je 0x44773b
call fcn.004a2500
mov esi, eax
cmp edi, esi
cmovl esi, edi
jmp 0x4478a7
call fcn.004a24d0
mov esi, eax
cmp edi, esi
cmovl esi, edi
jmp 0x4478a7
call fcn.00456dc0
mov esi, eax
cmp edi, esi
cmovl esi, edi
jmp 0x4478a7
mov edx, 7
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 5
and eax, 0xf
sub eax, 0
je 0x44778b
sub eax, 1
je 0x447784
call fcn.004a2500
jmp 0x447790
call fcn.004a24d0
jmp 0x447790
call fcn.00456dc0
sar esi, 4
mov edi, eax
mov edx, 6
mov ecx, ebx
sub esi, 0
je 0x4477c8
sub esi, 1
je 0x4477b7
call fcn.004a2500
mov esi, eax
cmp edi, esi
cmovg esi, edi
jmp 0x4478a7
call fcn.004a24d0
mov esi, eax
cmp edi, esi
cmovg esi, edi
jmp 0x4478a7
call fcn.00456dc0
mov esi, eax
cmp edi, esi
cmovg esi, edi
jmp 0x4478a7
mov edx, 6
mov ecx, ebx
call fcn.00456dc0
mov edx, 5
sub eax, 0
je 0x44781e
sub eax, 1
je 0x447809
call fcn.004a2500
cdq
mov esi, eax
xor esi, edx
sub esi, edx
mov dword [esp + 0x18], esi
jmp 0x4478af
call fcn.004a24d0
cdq
mov esi, eax
xor esi, edx
sub esi, edx
mov dword [esp + 0x18], esi
jmp 0x4478af
call fcn.00456dc0
cdq
mov esi, eax
xor esi, edx
sub esi, edx
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 8
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 6
and eax, 0xf
sub eax, 0
je 0x44785e
sub eax, 1
je 0x447857
call fcn.004a2500
jmp 0x447863
call fcn.004a24d0
jmp 0x447863
call fcn.00456dc0
sar esi, 4
mov edi, eax
mov edx, 7
mov ecx, ebx
sub esi, 0
je 0x447887
sub esi, 1
je 0x447880
call fcn.004a2500
jmp 0x44788c
call fcn.004a24d0
jmp 0x44788c
call fcn.00456dc0
push eax
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
mov edx, edi
mov ecx, eax
call fcn.004440e0
add esp, 4
mov esi, eax
mov dword [esp + 0x18], esi
mov edi, dword [esp + 0x1c]
mov edx, 3
mov ecx, ebx
call fcn.00456dc0
cmp eax, 0xa
ja case.default.0x4478c4
jmp dword [eax*4 + 0x448314]
mov edx, 0xa
mov ecx, ebx
call fcn.00456dc0
mov edi, eax
mov edx, 6
mov dword [esp + 0x28], edi
call fcn.00456dc0
mov ecx, edi
mov edx, eax
and ecx, 0xf
call fcn.00444010
mov edx, 7
mov ecx, ebx
mov esi, eax
call fcn.00456dc0
mov ecx, edi
mov edx, eax
sar ecx, 4
and ecx, 0xf
call fcn.00444010
mov edx, 5
mov dword [esp + 0x20], 1
mov ecx, ebx
mov edi, eax
call fcn.00456dc0
cmp eax, edx
ja case.default.0x44792a
jmp dword [eax*4 + 0x448340]
xor ecx, ecx
cmp esi, edi
setne cl
jmp 0x44796c
xor ecx, ecx
cmp esi, edi
setl cl
jmp 0x44796c
xor ecx, ecx
cmp esi, edi
setg cl
jmp 0x44796c
xor ecx, ecx
cmp esi, edi
setle cl
jmp 0x44796c
xor ecx, ecx
cmp esi, edi
setge cl
jmp 0x44796c
xor ecx, ecx
cmp esi, edi
sete cl
jmp 0x44796c
mov ecx, 1
lea edx, [ecx + 8]
cmp dword [ebx + 0xc], edx
jbe 0x44797c
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + edx*4]
jmp 0x44797e
xor edx, edx
mov eax, dword [esp + 0x28]
lea ecx, [ecx*4 + 8]
sar eax, cl
and eax, 0xf
mov ecx, eax
call fcn.00444010
jmp 0x4478a5
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
mov ecx, dword [esp + 0x34]
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x44], ecx
lea ecx, [eax + 6]
cmp ecx, edx
mov dword [esp + 0x48], 0x18
movups xmm0, xmmword [esp + 0x3c]
cmovle edx, eax
mov dword [esp + 0x50], 0
movups xmmword [0x5570ec], xmm0
lea eax, [edx*4 + 0x18]
mov dword [esp + 0x4c], eax
movq xmm0, qword [esp + 0x4c]
movq qword [0x5570fc], xmm0
call fcn.00444a50
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x4478af
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
mov ecx, eax
mov dword [esp + 0x18], eax
and ecx, 0xf
mov edx, 6
sub ecx, 0
je 0x447a41
sub ecx, 1
mov ecx, ebx
je 0x447a3a
call fcn.004a2500
jmp 0x447a48
call fcn.004a24d0
jmp 0x447a48
mov ecx, ebx
call fcn.00456dc0
mov ecx, dword [esp + 0x18]
mov edx, 7
mov dword [esp + 0x20], eax
mov eax, ecx
shr eax, 8
mov dword [esp + 0x28], eax
movzx eax, cl
mov ecx, ebx
shr eax, 4
sub eax, 0
je 0x447a7e
sub eax, 1
je 0x447a77
call fcn.004a2500
jmp 0x447a83
call fcn.004a24d0
jmp 0x447a83
call fcn.00456dc0
mov edi, eax
mov edx, 8
mov eax, dword [esp + 0x28]
mov ecx, ebx
movzx eax, al
and eax, 0xf
sub eax, 0
je 0x447aae
sub eax, 1
je 0x447aa7
call fcn.004a2500
jmp 0x447ab3
call fcn.004a24d0
jmp 0x447ab3
call fcn.00456dc0
mov esi, eax
mov edx, 9
mov eax, dword [esp + 0x18]
mov ecx, ebx
movzx eax, ah
shr eax, 4
sub eax, 0
je 0x447ade
sub eax, 1
je 0x447ad7
call fcn.004a2500
jmp 0x447ae3
call fcn.004a24d0
jmp 0x447ae3
call fcn.00456dc0
test eax, eax
movd xmm2, esi
mov ecx, 1
movd xmm1, dword [esp + 0x20]
cmove eax, ecx
sub esp, 8
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
divsd xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm1
movsd qword [esp], xmm2
call fcn.0050322a
fstp qword [esp + 0x28]
cvttsd2si esi, qword [esp + 0x28]
add esp, 8
jmp 0x4478a7
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
mov ecx, eax
mov dword [esp + 0x20], eax
and ecx, 0xf
mov edx, 6
sub ecx, 0
je 0x447b72
sub ecx, 1
mov ecx, ebx
je 0x447b6b
call fcn.004a2500
jmp 0x447b79
call fcn.004a24d0
jmp 0x447b79
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 7
mov eax, dword [esp + 0x20]
mov ecx, ebx
movzx eax, al
shr eax, 4
sub eax, 0
je 0x447ba4
sub eax, 1
je 0x447b9d
call fcn.004a2500
jmp 0x447ba9
call fcn.004a24d0
jmp 0x447ba9
call fcn.00456dc0
xor edi, edi
lea ecx, [esi + 1]
test eax, eax
cmovg edi, eax
mov eax, dword [0x5645d8]
sub eax, dword [0x5645d4]
add ecx, edi
sar eax, 2
mov dword [esp + 0x20], edi
cmp eax, ecx
ja 0x447bd6
push ecx
mov ecx, 0x5645d4
call fcn.004519a0
mov eax, dword [0x5645d8]
sub eax, dword [0x5645d4]
sar eax, 2
cmp eax, esi
ja 0x447bf6
lea eax, [esi + 1]
mov ecx, 0x5645d4
push eax
call fcn.004519a0
mov eax, dword [0x5645d4]
xor ecx, ecx
lea edx, [eax + esi*4]
xor esi, esi
mov dword [esp + 0x18], esi
test edi, edi
jle 0x447c6c
cmp edi, 8
jb 0x447c6c
mov eax, edi
and eax, 0x80000007
jns 0x447c1d
dec eax
or eax, 0xfffffff8
inc eax
mov esi, edi
xorps xmm2, xmm2
sub esi, eax
xorps xmm1, xmm1
nop word [eax + eax]
movups xmm0, xmmword [edx + ecx*4]
paddd xmm2, xmm0
movups xmm0, xmmword [edx + ecx*4 + 0x10]
add ecx, 8
paddd xmm1, xmm0
cmp ecx, esi
jl 0x447c30
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x20]
xor edi, edi
cmp ecx, eax
jge 0x4478ab
sub eax, ecx
cmp eax, 2
jl 0x447cbc
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x18], eax
mov eax, edi
nop dword [eax]
add edi, dword [edx + ecx*4]
add eax, dword [edx + ecx*4 + 4]
add ecx, 2
cmp ecx, dword [esp + 0x18]
jl 0x447c90
mov ebx, dword [esp + 0x20]
cmp ecx, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
jge 0x447cc1
add esi, dword [edx + ecx*4]
add eax, edi
add esi, eax
jmp 0x4478a7
add esi, dword [edx + ecx*4]
mov eax, edi
add eax, edi
add esi, eax
jmp 0x4478a7
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
mov ecx, eax
mov dword [esp + 0x20], eax
and ecx, 0xf
mov edx, 6
sub ecx, 0
je 0x447cfe
sub ecx, 1
mov ecx, ebx
je 0x447cf7
call fcn.004a2500
jmp 0x447d05
call fcn.004a24d0
jmp 0x447d05
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 7
mov eax, dword [esp + 0x20]
mov ecx, ebx
movzx eax, al
shr eax, 4
sub eax, 0
je 0x447d30
sub eax, 1
je 0x447d29
call fcn.004a2500
jmp 0x447d35
call fcn.004a24d0
jmp 0x447d35
call fcn.00456dc0
mov edi, 1
lea ecx, [esi + 1]
cmp eax, edi
cmovg edi, eax
mov eax, dword [0x5645d8]
sub eax, dword [0x5645d4]
add ecx, edi
sar eax, 2
cmp eax, ecx
ja 0x447d61
push ecx
mov ecx, 0x5645d4
call fcn.004519a0
mov eax, dword [0x5645d8]
sub eax, dword [0x5645d4]
sar eax, 2
cmp eax, esi
ja 0x447d81
lea eax, [esi + 1]
mov ecx, 0x5645d4
push eax
call fcn.004519a0
mov eax, dword [0x5645d4]
xor ecx, ecx
lea edx, [eax + esi*4]
mov esi, DirectSoundCreate
mov dword [esp + 0x18], esi
test edi, edi
jle 0x4478ab
cmp edi, 8
jb 0x447e20
cmp dword [0x555fd4], 2
jl 0x447e20
mov eax, edi
and eax, 0x80000007
jns 0x447db8
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm1, xmmword [0x545950]
mov esi, edi
sub esi, eax
movaps xmm2, xmm1
nop word [eax + eax]
movups xmm0, xmmword [edx + ecx*4]
pminsd xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 + 0x10]
add ecx, 8
pminsd xmm2, xmm0
cmp ecx, esi
jl 0x447dd0
pminsd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
pminsd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
pminsd xmm1, xmm0
movd esi, xmm1
mov dword [esp + 0x18], esi
cmp ecx, edi
jge 0x4478ab
nop dword [eax]
mov eax, dword [edx + ecx*4]
cmp esi, eax
cmovle eax, esi
inc ecx
mov esi, eax
cmp ecx, edi
jl 0x447e20
jmp 0x4478a7
mov edx, 5
mov ecx, ebx
call fcn.00456dc0
mov ecx, eax
mov dword [esp + 0x20], eax
and ecx, 0xf
mov edx, 6
sub ecx, 0
je 0x447e68
sub ecx, 1
mov ecx, ebx
je 0x447e61
call fcn.004a2500
jmp 0x447e6f
call fcn.004a24d0
jmp 0x447e6f
mov ecx, ebx
call fcn.00456dc0
mov esi, eax
mov edx, 7
mov eax, dword [esp + 0x20]
mov ecx, ebx
movzx eax, al
shr eax, 4
sub eax, 0
je 0x447e9a
sub eax, 1
je 0x447e93
call fcn.004a2500
jmp 0x447e9f
call fcn.004a24d0
jmp 0x447e9f
call fcn.00456dc0
mov edi, 1
lea ecx, [esi + 1]
cmp eax, edi
cmovg edi, eax
mov eax, dword [0x5645d8]
sub eax, dword [0x5645d4]
add ecx, edi
sar eax, 2
cmp eax, ecx
ja 0x447ecb
push ecx
mov ecx, 0x5645d4
call fcn.004519a0
mov eax, dword [0x5645d8]
sub eax, dword [0x5645d4]
sar eax, 2
cmp eax, esi
ja 0x447eeb
lea eax, [esi + 1]
mov ecx, 0x5645d4
push eax
call fcn.004519a0
mov eax, dword [0x5645d4]
xor ecx, ecx
lea edx, [eax + esi*4]
xor esi, esi
mov dword [esp + 0x18], esi
test edi, edi
jle 0x4478ab
cmp edi, 8
jb 0x447f80
cmp dword [0x555fd4], 2
jl 0x447f80
mov eax, edi
and eax, 0x80000007
jns 0x447f1f
dec eax
or eax, 0xfffffff8
inc eax
mov esi, edi
xorps xmm1, xmm1
sub esi, eax
xorps xmm2, xmm2
nop dword [eax]
movups xmm0, xmmword [edx + ecx*4]
pmaxsd xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 + 0x10]
add ecx, 8
pmaxsd xmm2, xmm0
cmp ecx, esi
jl 0x447f30
pmaxsd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
pmaxsd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
pmaxsd xmm1, xmm0
movd esi, xmm1
mov dword [esp + 0x18], esi
cmp ecx, edi
jge 0x4478ab
nop dword [eax]
mov eax, dword [edx + ecx*4]
cmp esi, eax
cmovge eax, esi
inc ecx
mov esi, eax
cmp ecx, edi
jl 0x447f80
jmp 0x4478a7
mov esi, dword [esp + 0x18]
jmp 0x4478af
mov eax, dword [0x5645d4]
mov dword [eax + edi*4], esi
jmp case.default.0x4478c4
mov edi, dword [0x5645d4]
mov eax, esi
cdq
mov esi, edx
mov ecx, eax
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + edx*4]
cdq
add ecx, eax
adc esi, edx
cmp esi, 0xffffffff
jg 0x447fe3
jl 0x447fd2
cmp ecx, 0x80000000
ja 0x447fe3
mov eax, dword [esp + 0x1c]
mov ecx, DirectSoundCreate
mov dword [edi + eax*4], ecx
jmp case.default.0x4478c4
test esi, esi
jl 0x447ff6
jg 0x447ff1
cmp ecx, 0x7fffffff
jb 0x447ff6
mov ecx, DirectSoundCreate
mov eax, dword [esp + 0x1c]
mov dword [edi + eax*4], ecx
jmp case.default.0x4478c4
mov edi, dword [0x5645d4]
mov eax, esi
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [edi + eax*4]
cdq
sub eax, ecx
sbb edx, esi
cmp edx, 0xffffffff
jg 0x44803a
jl 0x448029
cmp eax, 0x80000000
ja 0x44803a
mov edx, dword [esp + 0x1c]
mov eax, DirectSoundCreate
mov dword [edi + edx*4], eax
jmp case.default.0x4478c4
test edx, edx
jl 0x44804c
jg 0x448047
cmp eax, 0x7fffffff
jb 0x44804c
mov eax, DirectSoundCreate
mov edx, dword [esp + 0x1c]
mov dword [edi + edx*4], eax
jmp case.default.0x4478c4
mov ecx, dword [0x5645d4]
mov eax, dword [ecx + edi*4]
imul esi
cmp edx, 0xffffffff
jg 0x44807e
jl 0x448071
cmp eax, 0x80000000
ja 0x44807e
mov eax, DirectSoundCreate
mov dword [ecx + edi*4], eax
jmp case.default.0x4478c4
test edx, edx
jl 0x448090
jg 0x44808b
cmp eax, 0x7fffffff
jb 0x448090
mov eax, DirectSoundCreate
mov dword [ecx + edi*4], eax
jmp case.default.0x4478c4
mov edi, dword [0x5645d4]
test esi, esi
mov eax, 1
cmovne eax, esi
cdq
mov esi, eax
mov eax, dword [esp + 0x1c]
push edx
push esi
mov eax, dword [edi + eax*4]
cdq
push edx
push eax
call fcn.004e6e10
cmp edx, 0xffffffff
jg 0x44803a
jl 0x448029
cmp eax, 0x80000000
ja 0x44803a
mov edx, dword [esp + 0x1c]
mov eax, DirectSoundCreate
mov dword [edi + edx*4], eax
jmp case.default.0x4478c4
mov edi, dword [0x5645d4]
test esi, esi
mov eax, 1
cmovne eax, esi
cdq
mov esi, eax
mov eax, dword [esp + 0x1c]
push edx
push esi
mov eax, dword [edi + eax*4]
cdq
push edx
push eax
call fcn.00521980
cmp edx, 0xffffffff
jg 0x44803a
jl 0x448029
cmp eax, 0x80000000
ja 0x44803a
mov edx, dword [esp + 0x1c]
mov eax, DirectSoundCreate
mov dword [edi + edx*4], eax
jmp case.default.0x4478c4
mov eax, dword [0x5645d4]
or dword [eax + edi*4], esi
jmp case.default.0x4478c4
mov eax, dword [0x5645d4]
and dword [eax + edi*4], esi
jmp case.default.0x4478c4
mov eax, dword [0x5645d4]
xor dword [eax + edi*4], esi
jmp case.default.0x4478c4
mov eax, dword [0x5645d4]
mov ecx, esi
shl dword [eax + edi*4], cl
jmp case.default.0x4478c4
mov edx, dword [0x5645d4]
mov ecx, esi
mov eax, dword [edx + edi*4]
shr eax, cl
mov dword [edx + edi*4], eax
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x448188
mov edi, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x1c], edi
jmp 0x446b1c
mov eax, dword [0x5603c4]
xor esi, esi
mov eax, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
test edi, edi
jle 0x4481ad
nop dword [eax + eax]
mov ecx, dword [ebx + esi*4]
call fcn.00459340
inc esi
cmp esi, edi
jl 0x4481a0
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004e66f2
mov esp, ebp
pop ebp
ret
mov ecx, str.st_gEnemy_idx
call fcn.00469b60
xor edx, edx
mov ecx, str.Actor
call fcn.004a1c00
nop dword [eax]
dec eax
imul eax, dword [eax + eax + 96], 0x8f004469
imul eax, dword [eax + eax - 0x37], 0x4e004469
imul eax, dword [eax + eax + 0x65], 0x6b
inc esp
add byte [ebx + ebp*2 + 0x44], bh
add byte [ebx + 0x4c00446b], dl
insb byte es:[edi], dx
inc esp
add ch, ah
insb byte es:[edi], dx
inc esp
add byte [ebp*2 + 0x6e540044], dh
inc esp
add byte [edx - 0x35ffbb91], dh
jo 0x448253
add byte [edi], cl
jb 0x448257
add byte [esi + 0x72], al
inc esp
add byte [ebx + esi*2], bl
inc esp
add byte [edi], cl
je 0x448263
add byte [0xb004475], cl
jbe 0x44826b
add cl, ah
jbe 0x44826f
add byte [ebp + 0x77], bl
inc esp
add cl, bl
ja 0x448277
add byte [eax], dh
js 0x44827b
add bl, cl
js 0x44827f
add byte [edx + 0xd004479], bl
jp 0x448287
add byte [esi], bh
jnp 0x44828b
add dl, cl
jl 0x44828f
add byte [esi + edi*2], dh
inc esp
add byte [eax + 0x71], ah
inc esp
add byte [edi + 0x71], ch
inc esp
add byte [edx], dl
jo 0x44829f
add byte [esi], bl
jo 0x4482a3
add byte [esi + 0x71], bh
inc esp
add byte [edx + 0x58004471], dl
jo 0x4482af
add byte [edx + 0x70], ch
inc esp
add byte [eax + esi*2 + 0x44], bh
add byte [esi - 0x59ffbb90], cl
jno 0x4482bf
add byte [esi - 0x49ffbb8f], ah
jno 0x4482c3
add byte [esi - 0x39ffbb8f], dh
add dh, al
jno 0x4482c7
add dh, dl
jno 0x4482cb
add dh, ah
jno 0x4482cf
add byte [eax + 0x6e], cl
inc esp
add byte [edi - 0x9ffbb90], ch
jno 0x4482db
add byte [ecx - 0x62ffbb93], dl
insd dword es:[edi], dx
inc esp
add byte [ecx - 0x4affbb93], ch
insd dword es:[edi], dx
inc esp
add ah, cl
add byte [ebp - 0x33ffbb93], dh
insd dword es:[edi], dx
inc esp
add dh, bl
insd dword es:[edi], dx
inc esp
add al, dh
insd dword es:[edi], dx
inc esp
add byte [eax + 0x6e], dh
inc esp
add byte [edi + 0x6e], bh
inc esp
add byte [ebx - 0x4dffbb92], ah
outsb dx, byte [esi]
inc esp
add byte [edx - 0x3effbb92], dh
add cl, al
outsb dx, byte [esi]
inc esp
add al, dl
outsb dx, byte [esi]
inc esp
add bh, bl
outsb dx, byte [esi]
inc esp
add dh, ch
outsb dx, byte [esi]
inc esp
add ch, bh
outsb dx, byte [esi]
inc esp
add byte [0x3100446f], cl
add byte [ecx], dh
outsd dx, dword [esi]
inc esp
add byte [ebx + 0x6f], ah
inc esp
add byte [ebp - 0x5bffbb91], dl
outsd dx, dword [esi]
inc esp
add byte [edx], dl
jo 0x448333
add byte [esi], bl
jo 0x448337
add byte [edx], ch
jo 0x44833b
add byte [ecx + 0x70], al
inc esp
add byte [eax + 0x70], bl
inc esp
add byte [edx + 0x70], ch
inc esp
add byte [eax + esi*2 + 0x44], bh
add byte [esi - 0x5fffbb90], cl
jo 0x448353
add byte [edi - 0x62ffbb90], ch
jg 0x44835b
add byte [edx + 0x200447f], ch
add byte [eax + eax + 0x58], 0x80
inc esp
add byte [eax - 0x18ffbb80], bl
add byte [eax + eax + 0x33], 0x81
inc esp
add byte [0x47004481], bh
add dword [eax + eax + 0x51], 0x5d004481
add dword [eax + eax + 0x31], 0x3a004479
add byte [edi - 0x7f], al
inc esp
add byte [ecx - 0x7f], dl
inc esp
add byte [ebp - 0x7f], bl
inc esp
add byte [ecx], dh
jns 0x448387
add byte [edx], bh
jns 0x44838b
add byte [ebx + 0x79], al
inc esp
add byte [ecx + edi*2 + 0x44], cl
add byte [ebp + 0x79], dl
inc esp
add byte [esi + 0x79], bl
inc esp
add ah, cl
int3
int3
mov dword [ebp - 0xc], eax
movups xmmword [0x5570ec], xmm0
adc dword [0x5570ec], eax
movq xmm0, qword [ebp - 0xc]
movq qword [0x5570fc], xmm0
nop
cmp edx, eax
jl 0x4483a0
call fcn.00444a50
mov esp, ebp
pop ebp
ret