Function at 0x429880
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x44300c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [0x4598f8]
push edi
mov edi, esi
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x108], edi
mov eax, dword [edi + 0x1a10]
mov byte [eax + 0x84], 1
mov ebx, dword [edi + 0x1a10]
mov dword [ebp - 0xf8], ebx
cmp byte [ebx + 0x87], 0
jne 0x429c6a
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xe
mov ecx, edx
and eax, 0xffffff01
shr ecx, 0x14
mov dword [ebp - 0xd0], eax
and ecx, 0xffffff01
mov eax, edx
mov dword [ebp - 0xc8], ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x138], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x124], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0xec], eax
test cl, cl
je 0x42993e
call fcn.00410740
mov esi, dword [0x4598f8]
mov ecx, dword [ebx + 0xc4]
xor edx, edx
mov eax, dword [ebx + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x13c]
call fcn.00405de0
mov edx, eax
add esp, 4
mov dword [ebp - 0xc0], edx
cmp dword [esi + 0x1a48], edx
jne 0x429974
mov dword [esi + 0x1a4c], edx
cmp dword [esi + 0x1a84], edx
jne 0x429983
mov byte [esi + 0x1a88], 1
mov ecx, dword [ebp - 0x13c]
mov eax, ecx
cmp ecx, 0xffffffff
jae 0x4299ac
mov cl, byte [eax]
test cl, cl
je 0x4299a6
cmp cl, 0x23
jne 0x4299a0
cmp byte [eax + 1], cl
je 0x4299a6
inc eax
cmp eax, 0xffffffff
jb 0x429990
mov ecx, dword [ebp - 0x13c]
movss xmm0, dword [0x43f0f8]
movss xmm2, dword [esi + 0x18d8]
movss dword [ebp - 0x118], xmm0
cmp ecx, eax
jne 0x4299d5
xorps xmm6, xmm6
movss dword [ebp - 0x150], xmm6
jmp 0x429a29
push ecx
push eax
push ecx
push ecx
mov ecx, dword [esi + 0x18d4]
lea eax, [ebp - 0x110]
mov dword [esp], 0xbf800000
movaps xmm3, xmm0
push eax
call fcn.00422c20
movss xmm0, dword [ebp - 0x110]
xorps xmm6, xmm6
addss xmm0, dword [0x43efb8]
movss xmm2, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xc0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x150], xmm0
cmp byte [ebp - 0xc8], 0
je 0x429a42
movss xmm2, dword [edi + 0x18d8]
mulss xmm2, dword [0x43f05c]
test byte [esi + 0x1af8], 1
mov ecx, dword [esi + 0x1a10]
je 0x429a5b
movss xmm0, dword [esi + 0x1afc]
jmp 0x429a63
movss xmm0, dword [ecx + 0x1ac]
comiss xmm6, xmm0
jbe 0x429a9b
mov eax, ecx
cmp dword [eax + 0x194], 0
movss xmm1, dword [eax + 0x258]
je 0x429a83
movss xmm1, dword [eax + 0x228]
subss xmm1, dword [ecx + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x43efc0]
maxss xmm0, xmm1
movss xmm5, dword [edi + 0x1554]
xorps xmm1, xmm1
cvttss2si eax, xmm0
movaps xmm3, xmm5
xorps xmm0, xmm0
addss xmm3, xmm5
movd xmm4, eax
mov eax, dword [ebp + 0x10]
addss xmm3, xmm2
cvtdq2ps xmm4, xmm4
movss xmm7, dword [eax]
comiss xmm6, xmm7
movss xmm2, dword [eax + 4]
movss dword [ebp - 0x104], xmm7
movss dword [ebp - 0x100], xmm2
ja 0x429ae5
comiss xmm6, xmm2
jbe 0x429b06
cmp dword [ecx + 0x194], 0
movss xmm0, dword [ecx + 0x258]
movss xmm1, dword [ecx + 0x25c]
je 0x429b06
movss xmm0, dword [ecx + 0x228]
movss xmm2, dword [0x43f044]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x429b24
movaps xmm7, xmm4
movss dword [ebp - 0x104], xmm7
jmp 0x429b4d
comiss xmm6, xmm7
jbe 0x429b4d
subss xmm0, dword [ecx + 0xd0]
addss xmm7, xmm0
comiss xmm2, xmm7
movss dword [ebp - 0x104], xmm7
jb 0x429b4d
movaps xmm7, xmm2
movss dword [ebp - 0x104], xmm2
movss xmm0, dword [ebp - 0x100]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x429b68
movss dword [ebp - 0x100], xmm3
jmp 0x429b8e
comiss xmm6, xmm0
jbe 0x429b8e
subss xmm1, dword [ecx + 0xd4]
addss xmm0, xmm1
comiss xmm2, xmm0
movss dword [ebp - 0x100], xmm0
jb 0x429b8e
movss dword [ebp - 0x100], xmm2
movss xmm0, dword [ebp - 0x150]
comiss xmm0, xmm6
jbe 0x429ba8
movaps xmm2, xmm0
addss xmm2, dword [edi + 0x1568]
jmp 0x429bab
xorps xmm2, xmm2
cmp byte [ebp - 0xc8], 0
addss xmm2, xmm7
movss xmm4, dword [ebx + 0xd4]
movss xmm3, dword [ebx + 0xd0]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x100]
movaps xmm1, xmm3
movss dword [ebp - 0x4c], xmm3
addss xmm1, xmm7
movss dword [ebp - 0x48], xmm4
addss xmm2, xmm3
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm4
movss dword [ebp - 0x40], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0xc], xmm2
mov dword [ebp - 0xe8], ebx
movss dword [ebp - 8], xmm0
je 0x429e5b
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004104c0
add esp, 4
test al, al
jne 0x429c7d
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0x110]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [edi + 0x1554]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x10c], xmm0
call fcn.00410390
call fcn.00410860
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004384ec
mov esp, ebp
pop ebp
ret
mov esi, dword [0x4598f8]
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], 3
movups xmm0, xmmword [esi + 0x1604]
lea ecx, [esi + 0x1b0c]
movups xmmword [ebp - 0x34], xmm0
call fcn.00415930
movups xmm0, xmmword [edi + 0x1644]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 6
push eax
movups xmmword [esi + 0x1604], xmm0
mov esi, dword [0x4598f8]
movss xmm0, dword [edi + 0x1558]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [esi + 0x1540]
lea ecx, [esi + 0x1b18]
movss dword [ebp - 0xc], xmm0
call fcn.00415870
movss xmm0, dword [ebp - 0xd8]
lea eax, [ebp - 0x10]
movss dword [esi + 0x1540], xmm0
mov esi, dword [0x4598f8]
movss xmm0, dword [edi + 0x155c]
movss dword [ebp - 0xd8], xmm0
push eax
movss xmm0, dword [esi + 0x1544]
lea ecx, [esi + 0x1b18]
mov dword [ebp - 0x10], 7
movss dword [ebp - 0xc], xmm0
call fcn.00415870
movss xmm0, dword [ebp - 0xd8]
lea eax, [ebp - 0x10]
movss dword [esi + 0x1544], xmm0
mov esi, dword [0x4598f8]
push eax
mov dword [ebp - 0x10], 1
movss xmm0, dword [esi + 0x151c]
lea ecx, [esi + 0x1b18]
movss xmm1, dword [esi + 0x1520]
movss dword [ebp - 0xc], xmm0
movss dword [ebp - 8], xmm1
call fcn.00415870
movss xmm0, dword [ebp - 0x44]
sub esp, 8
subss xmm0, dword [ebp - 0x4c]
mov eax, dword [edi + 0x1550]
mov ecx, dword [edi + 0x1554]
mov edx, dword [ebp - 0xc0]
mov dword [esi + 0x151c], eax
lea eax, [ebp - 0x110]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
mov dword [esi + 0x1520], ecx
mov ecx, dword [ebp - 0x13c]
push eax
movss dword [ebp - 0x10c], xmm0
call fcn.0040b1c0
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.00406540
mov esi, dword [0x4598f8]
mov ecx, dword [esi + 0x1b0c]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1b14]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15d4], xmm0
dec dword [esi + 0x1b0c]
test bl, bl
jne 0x429e1d
call fcn.0040b3d0
jmp 0x429c65
mov ebx, dword [edi + 0x1a10]
movss xmm0, dword [ebp - 0x104]
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xe8], ebx
subss xmm0, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x144]
mov eax, dword [ebx + 0x13c]
bts ecx, eax
mov dword [ebx + 0x144], ecx
movss dword [ebp - 0x104], xmm0
jmp 0x429ea0
subss xmm2, xmm3
movaps xmm1, xmm5
subss xmm0, xmm4
lea ecx, [ebp - 0x110]
movss dword [ebp - 0x110], xmm2
movss dword [ebp - 0x10c], xmm0
call fcn.00410390
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x4c]
push eax
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.004104c0
add esp, 4
test al, al
je 0x429c6a
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.004079b0
mov byte [ebp - 0xad], al
test al, al
je 0x429ebe
mov dword [edi + 0x1de4], 1
mov ebx, dword [0x4598f8]
xor eax, eax
add ebx, 0x1eb8
mov edx, esi
cmp dword [ebx], esi
mov esi, dword [ebp - 0xf8]
mov ecx, esi
cmovne ebx, eax
mov dword [ebp - 0x134], ebx
call fcn.00407c20
mov byte [ebp - 0xd9], al
test al, al
je 0x429f66
cmp dword [edi + 0x1c68], esi
jne 0x429f66
mov ecx, dword [edi + 0x1c70]
cmp ecx, dword [esi + 0x1a0]
jne 0x429f66
mov byte [ebp - 0xb1], 1
mov byte [ebp - 0xba], 0
cmp byte [ebp - 0xad], 0
je 0x429f2d
cmp byte [edi + 0x3d8], 0
mov byte [ebp - 0xb0], 1
jne 0x429f34
mov byte [ebp - 0xb0], 0
mov esi, dword [edi + 0x1a48]
mov eax, dword [ebp - 0xc0]
cmp esi, eax
je 0x429f81
cmp dword [edi + 0x1b60], eax
je 0x429f5d
cmp dword [edi + 0x1b54], eax
jne 0x429f81
cmp dword [edi + 0x1b78], 3
jne 0x429f81
mov byte [ebp - 0xaf], 1
jmp 0x429f88
mov byte [ebp - 0xb1], 0
test al, al
je 0x429f0d
mov byte [ebp - 0xba], 1
mov byte [ebp - 0xb1], 0
jmp 0x429f14
mov byte [ebp - 0xaf], 0
mov eax, dword [ebp - 0xc8]
test al, al
je 0x429fd6
test ebx, ebx
je 0x429fd6
test esi, esi
jne 0x429fd6
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.00405de0
add esp, 4
cmp dword [edi + 0x1a84], eax
jne 0x429fd0
mov byte [ebp - 0xae], 1
jmp 0x429fec
mov eax, dword [ebp - 0xc8]
mov byte [ebp - 0xae], 0
test al, al
je 0x42a019
mov byte [ebp - 0xae], 0
test ebx, ebx
je 0x42a019
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.00405de0
add esp, 4
cmp esi, eax
jne 0x42a019
mov al, 1
jmp 0x42a01b
xor al, al
mov edx, dword [ebp - 0xc0]
mov cl, byte [ebp - 0xaf]
mov byte [ebp - 0xb2], al
mov byte [ebp - 0xc9], 0
cmp esi, edx
je 0x42a054
test byte [ebp + 0x14], 0x10
jne 0x42a042
test cl, cl
je 0x42a054
cmp byte [ebp - 0xc8], 0
jne 0x42a054
mov byte [ebp - 0xb8], 1
jmp 0x42a07d
cmp byte [ebp - 0xc8], 0
mov byte [ebp - 0xb8], 0
je 0x42a07d
mov edi, dword [ebp - 0xe8]
movss xmm0, dword [edi + 0x54]
mov edi, dword [ebp - 0x108]
movss dword [ebp - 0x118], xmm0
cmp byte [ebp - 0xd9], 0
jne 0x42a0b1
cmp byte [ebp - 0xb0], 0
jne 0x42a0b1
cmp byte [ebp - 0xae], 0
jne 0x42a0b1
test cl, cl
jne 0x42a0b1
mov byte [ebp - 0xae], cl
test al, al
jne 0x42a0b8
mov byte [ebp - 0xb9], al
jmp 0x42a2e7
mov byte [ebp - 0xae], 1
mov byte [ebp - 0xb9], 1
mov dword [ebp - 0x134], ebx
cmp esi, edx
je 0x42a2e7
mov ecx, dword [ebp - 0xd4]
lea ebx, [edi + 0x1eb8]
mov dword [ebp - 0x134], ebx
mov dword [ebx + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a0f0
mov eax, dword [ebx + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x42a12d
test eax, eax
je 0x42a116
cdq
sub eax, edx
lea edx, [ebx + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42a11e
mov ecx, 8
lea edx, [ebx + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00415d60
push esi
push dword [ebp - 0xd4]
mov dword [ebx + 0x24], esi
push dword [ebx + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
add esp, 0xc
cmp esi, 0x21
jge 0x42a179
test esi, esi
je 0x42a15e
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x42a163
mov ecx, 8
mov eax, 0x21
cmp ecx, eax
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.00415dd0
lea eax, [ebx + 0xc]
mov dword [eax], 0x21
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x42a19f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x18]
call fcn.00415d60
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0x18], 0
mov edx, dword [ebx + 0x14]
mov esi, edx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xc4], edx
lea ecx, [edx + 0x3e]
cmp edx, ecx
jae 0x42a20c
mov edi, eax
cmp byte [edi], 0
je 0x42a1fa
push 0
mov edx, edi
lea ecx, [ebp - 0xd8]
call fcn.00406050
mov edx, dword [ebp - 0xc4]
add edi, eax
mov eax, dword [ebp - 0xd8]
add esp, 4
test eax, eax
je 0x42a1fa
mov word [esi], ax
add esi, 2
lea eax, [edx + 0x3e]
cmp esi, eax
jb 0x42a1c4
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0x108]
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xd4]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
mov edx, dword [ebp - 0xc8]
sar esi, 1
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 4], esi
cmp dword [ebx], eax
jne 0x42a255
cmp dword [ebx + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
jmp 0x42a2b7
mov dword [ebx], eax
mov al, dl
xor al, 1
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0xe5a], 0x630000
mov dword [ebx + 0xe60], ecx
mov dword [ebx + 0xe64], 0x3e7
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x3c], ecx
mov word [ebx + 0x51], 1
mov dword [ebx + 0x58], ecx
mov byte [ebx + 0x50], cl
mov byte [ebx + 0x53], al
mov byte [ebx + 0x48], cl
mov dword [ebx + 0x4c], ecx
test dl, dl
jne 0x42a2b7
mov ecx, dword [ebp - 0xb8]
mov eax, 1
cmp byte [ebp - 0xb1], dl
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0xb8], ecx
test dword [ebp + 0x14], 0x2000
je 0x42a2c4
mov byte [ebx + 0x48], 1
test dl, dl
jne 0x42a2e7
cmp byte [ebp - 0xba], dl
jne 0x42a2e0
cmp byte [ebp - 0xb0], dl
je 0x42a2e7
cmp byte [edi + 0xfc], dl
je 0x42a2e7
mov byte [ebp - 0xb8], 1
mov esi, dword [ebp - 0xc0]
cmp dword [edi + 0x1a48], esi
je 0x42a396
cmp byte [ebp - 0xae], 0
je 0x42a396
mov edx, dword [ebp - 0xf8]
mov ecx, esi
call fcn.00407870
call fcn.00411850
mov ecx, edx
call fcn.0040fd80
mov eax, dword [edi + 0x1a5c]
mov edx, dword [ebp - 0xc8]
or eax, 3
mov dword [edi + 0x1a5c], eax
test dl, dl
jne 0x42a33e
test byte [ebp + 0x14], 0x80
je 0x42a347
or eax, 0xc
mov dword [edi + 0x1a5c], eax
mov eax, dword [edi + 0x1a68]
or dword [edi + 0x1a60], 2
or eax, 0x180
mov ecx, dword [edi + 0x1a6c]
mov dword [edi + 0x1a68], eax
mov dword [edi + 0x1a6c], ecx
test dl, dl
je 0x42a37e
or eax, 0x60
mov dword [edi + 0x1a6c], ecx
mov dword [edi + 0x1a68], eax
test dword [ebp + 0x14], 0x440
je 0x42a396
or eax, 1
mov dword [edi + 0x1a6c], ecx
mov dword [edi + 0x1a68], eax
mov eax, dword [edi + 0x1a48]
cmp eax, esi
jne 0x42a3d9
test ebx, ebx
jne 0x42a3b3
call fcn.00407930
mov eax, dword [edi + 0x1a48]
cmp eax, esi
jne 0x42a3d9
cmp byte [edi + 0x3d8], 0
je 0x42a3e6
cmp byte [ebp - 0xb9], 0
jne 0x42a3e6
cmp byte [ebp - 0xae], 0
jne 0x42a3e6
mov byte [ebp - 0xc9], 1
mov cl, 1
jmp 0x42a3ec
test ebx, ebx
je 0x42a3ea
cmp byte [ebp - 0xb2], 0
je 0x42a3ea
mov cl, 1
jmp 0x42a3ec
xor cl, cl
mov byte [ebp - 0xb0], cl
test ebx, ebx
je 0x42a406
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x42a406
test cl, cl
je 0x42a406
mov al, 1
jmp 0x42a408
xor al, al
mov edx, dword [ebp - 0xd0]
mov byte [ebp - 0xb3], al
mov byte [ebp - 0xd9], 0
mov byte [ebp - 0xba], 0
test dl, dl
je 0x42a537
test ebx, ebx
je 0x42a537
test cl, cl
jne 0x42a43e
test al, al
je 0x42a53f
mov ecx, dword [ebx + 0x10]
cmp ecx, 0x21
jge 0x42a46e
test ecx, ecx
je 0x42a455
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x42a45a
mov eax, 8
cmp eax, 0x21
mov ecx, 0x21
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0xc]
call fcn.00415dd0
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0xc], 0x21
mov edx, dword [ebx + 0x14]
mov esi, edx
mov dword [ebp - 0xc4], edx
lea ecx, [edx + 0x40]
cmp edx, ecx
jae 0x42a4d8
mov edi, eax
nop
cmp byte [edi], 0
je 0x42a4c6
push 0
mov edx, edi
lea ecx, [ebp - 0xd8]
call fcn.00406050
mov edx, dword [ebp - 0xc4]
add edi, eax
mov eax, dword [ebp - 0xd8]
add esp, 4
test eax, eax
je 0x42a4c6
mov word [esi], ax
add esi, 2
lea eax, [edx + 0x40]
cmp esi, eax
jb 0x42a490
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0x108]
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xd4]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov edx, esi
mov dword [ebx + 4], esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
cmovl edx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 8], eax
cmovl esi, dword [ebx + 0x44]
xor ecx, ecx
movzx eax, byte [ebp - 0xb3]
cmp edx, esi
mov dword [ebx + 0x40], edx
mov edx, dword [ebp - 0xd0]
cmovne ecx, eax
mov al, cl
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xc0]
mov cl, byte [ebp - 0xb0]
mov byte [ebp - 0xb3], al
test cl, cl
jne 0x42a547
test al, al
jne 0x42a547
cmp dword [edi + 0x1a48], esi
jne 0x42a55b
test dl, dl
jne 0x42a55b
test ebx, ebx
je 0x42a55b
mov byte [ebp - 0xed], 1
cmp byte [ebx + 0x30], dl
jne 0x42a562
mov byte [ebp - 0xed], 0
cmp byte [ebp - 0x138], 0
je 0x42a5e9
mov edx, dword [edi + 0x18d4]
cmp dword [edx + 0x14], 0x2a
ja 0x42a580
mov esi, dword [edx + 0x2c]
jmp 0x42a59f
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x42a596
mov esi, dword [edx + 0x2c]
jmp 0x42a59f
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
lea ecx, [edi + 0x2d34]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x18d4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [edi + 0x18d4]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x18d4]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x18d4]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x2c], esi
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
call fcn.00410060
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xf8], 0
cmp dword [edi + 0x1a48], esi
jne 0x42aa26
mov eax, dword [ebx + 8]
mov byte [ebx + 0xe6e], 0
mov dword [ebx + 0x34], 0x20
mov dword [ebx + 0xe74], 0
mov dword [ebx + 0xe78], 0
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0xe70], eax
cmp byte [edi + 0xec], 0
mov dword [edi + 0x3060], 1
sete al
cmp byte [ebp - 0xc8], 0
mov byte [edi + 0x1a55], al
movss xmm7, dword [edi + 0xe4]
subss xmm7, dword [ebp - 0x4c]
subss xmm7, dword [edi + 0x1550]
addss xmm7, dword [ebx + 0x38]
je 0x42a696
mov eax, dword [ebp - 0xe8]
movss xmm2, dword [edi + 0xe8]
subss xmm2, dword [eax + 0xd4]
subss xmm2, dword [edi + 0x1554]
jmp 0x42a6a6
movss xmm2, dword [edi + 0x18d8]
mulss xmm2, dword [0x43ef90]
cmp byte [ebp - 0xb8], 0
mov cl, byte [edi + 0xb1]
mov byte [ebp - 0xae], cl
jne 0x42a823
mov dl, byte [ebp - 0xad]
test dl, dl
je 0x42a6db
mov al, byte [edi + 0x3dd]
test cl, cl
jne 0x42a743
test al, al
jne 0x42a823
cmp byte [edi + 0x3d8], 0
mov al, byte [ebx + 0xe6d]
je 0x42a798
test al, al
jne 0x42a798
test dl, dl
je 0x42a83e
cmp byte [ebx + 0x53], al
je 0x42a717
push 0
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.00427ed0
movss xmm2, dword [ebp - 0x30]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.004281e0
mov cl, byte [ebp - 0xae]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x52], 0
mov dword [ebx + 0xe68], 0xbe99999a
jmp 0x42a83e
test al, al
je 0x42a6db
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004285d0
add esp, 4
mov byte [ebx + 0xe6c], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.004285d0
mov cl, byte [ebp - 0xae]
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
jmp 0x42a83e
cmp byte [edi + 0xec], 0
je 0x42a83e
test al, al
jne 0x42a83e
movss xmm0, dword [edi + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x42a7d2
movss xmm0, dword [edi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x42a83e
cmp byte [ebx + 0x53], 0
je 0x42a7ec
push 0
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.00427ed0
movss xmm2, dword [ebp - 0x30]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x42a7fa
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.004281e0
mov cl, byte [ebp - 0xae]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe68], 0xbe99999a
mov byte [ebx + 0xe6c], 1
jmp 0x42a83e
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x52], 0
mov byte [ebx + 0xe6d], 1
cmp byte [ebx + 0xe6d], 0
je 0x42a857
cmp byte [edi + 0xec], 0
jne 0x42a857
mov byte [ebx + 0xe6d], 0
cmp byte [edi + 0xfc], 0
je 0x42a869
cmp byte [edi + 0xfe], 0
je 0x42a876
test cl, cl
je 0x42a87f
cmp byte [edi + 0xff], 0
je 0x42a87f
mov byte [ebp - 0xad], 1
jmp 0x42a886
mov byte [ebp - 0xad], 0
mov ecx, dword [ebp + 0x14]
test ecx, 0x400
je 0x42aac2
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x42a945
call fcn.0040b020
mov edx, dword [ebp - 0xd0]
test al, al
mov al, byte [ebp - 0xad]
je 0x42a951
test al, al
jne 0x42a951
cmp byte [edi + 0xfd], al
jne 0x42a951
test dl, dl
jne 0x42a951
mov ecx, dword [edi + 0x1510]
mov eax, dword [edi + 0x1508]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x42a8ff
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 9
je 0x42a945
cmp ecx, edx
jb 0x42a8f0
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xc4]
sub esp, 8
mov dword [ebp - 0xc4], 9
call fcn.004296c0
add esp, 8
test al, al
je 0x42a945
push dword [ebp - 0xc4]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004285d0
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov al, byte [ebp - 0xad]
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp + 0x14]
cmp dword [edi + 0x1508], 0
lea esi, [edi + 0x1508]
jle 0x42aa20
test al, al
jne 0x42a9fb
test dl, dl
jne 0x42a9fb
cmp byte [ebp - 0xaf], dl
jne 0x42a9fb
xor esi, esi
nop word [eax + eax]
mov eax, dword [edi + 0x1510]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xc4], eax
cmp eax, 9
jne 0x42a9ae
cmp byte [edi + 0xfd], 0
jne 0x42a9e9
sub esp, 8
mov edx, ecx
lea ecx, [ebp - 0xc4]
call fcn.004296c0
add esp, 8
test al, al
je 0x42a9e9
push dword [ebp - 0xc4]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004285d0
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, dword [ebp + 0x14]
inc esi
cmp esi, dword [edi + 0x1508]
jl 0x42a990
lea esi, [edi + 0x1508]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x42aa1a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00415dd0
mov dword [esi], 0
mov esi, dword [ebp - 0xc0]
mov eax, dword [edi + 0x1a48]
xor cl, cl
mov byte [ebp - 0xad], cl
cmp eax, esi
jne 0x42bb1c
cmp byte [edi + 0x1a54], cl
jne 0x42b555
cmp byte [ebp - 0xc9], cl
jne 0x42b555
movss xmm0, dword [ebp - 0x100]
mov ecx, 1
subss xmm0, dword [edi + 0x1554]
divss xmm0, dword [edi + 0x18d8]
cvttss2si eax, xmm0
cmp eax, 1
cmovge ecx, eax
xor esi, esi
mov dword [ebx + 0x4c], ecx
mov eax, 0x400000
cmp byte [edi + 0xfd], 0
mov dword [ebp - 0xc4], ecx
cmovne esi, eax
mov al, byte [edi + 0xb1]
mov byte [ebp - 0x125], al
test al, al
je 0x42aad3
cmp dword [edi + 0x37c], 0xa
jne 0x42aad3
mov ecx, 0xa
mov byte [ebp - 0xb2], 1
mov dword [ebp - 0xb8], ecx
jmp 0x42aaea
mov al, byte [ebp - 0xad]
mov edx, dword [ebp - 0xd0]
jmp 0x42a954
mov ecx, dword [edi + 0x37c]
mov dword [ebp - 0xb8], ecx
mov byte [ebp - 0xb2], 0
test al, al
je 0x42ab15
cmp byte [edi + 0xff], 0
mov al, byte [edi + 0xfe]
mov byte [ebp - 0xae], al
je 0x42ab2e
cmp byte [edi + 0xfc], 0
jne 0x42ab2e
test al, al
jne 0x42ab2e
mov byte [ebp - 0xb1], 1
jmp 0x42ab35
mov al, byte [edi + 0xfc]
mov byte [ebp - 0xae], al
mov byte [ebp - 0xb2], 0
mov dword [ebp - 0xb8], ecx
mov byte [ebp - 0xb1], 0
cmp byte [edi + 0xb1], 0
je 0x42ab43
cmp ecx, 8
jmp 0x42ab46
cmp ecx, 1
sete al
mov byte [ebp - 0xaf], al
test al, al
je 0x42ab73
mov eax, dword [0x4598f8]
mov eax, dword [eax + 0x80]
test eax, eax
js 0x42ab73
mov ecx, eax
call fcn.0040b020
test al, al
jne 0x42ab8d
mov ecx, dword [ebp - 0xb8]
cmp ecx, 2
jne 0x42abb9
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x42abb9
call fcn.0040b020
test al, al
je 0x42abb9
cmp byte [ebp - 0xd0], 0
jne 0x42abb9
cmp byte [ebp - 0x138], 0
jne 0x42abb9
cmp byte [ebp - 0xc8], 0
je 0x42abb0
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x42abb9
mov byte [ebp - 0xb9], 1
jmp 0x42abc0
mov byte [ebp - 0xb9], 0
cmp byte [ebp - 0xaf], 0
je 0x42abde
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x42abde
call fcn.0040b020
test al, al
jne 0x42abfc
cmp dword [ebp - 0xb8], 1
jne 0x42ac1f
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x42ac1f
call fcn.0040b020
test al, al
je 0x42ac1f
cmp byte [ebp - 0x138], 0
jne 0x42ac1f
cmp byte [ebp - 0xc8], 0
je 0x42ac16
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x42ac1f
mov byte [ebp - 0xef], 1
jmp 0x42ac26
mov byte [ebp - 0xef], 0
cmp byte [ebp - 0xaf], 0
je 0x42ac44
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x42ac44
call fcn.0040b020
test al, al
jne 0x42ac62
cmp dword [ebp - 0xb8], 2
jne 0x42ac72
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x42ac72
call fcn.0040b020
test al, al
je 0x42ac72
cmp byte [ebp - 0xd0], 0
mov byte [ebp - 0xee], 1
je 0x42ac79
mov byte [ebp - 0xee], 0
mov dl, byte [ebp - 0xaf]
test dl, dl
je 0x42acbc
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x42acbc
call fcn.0040b020
test al, al
je 0x42acb6
cmp byte [ebp - 0xd0], 0
jne 0x42acb6
cmp byte [ebp - 0x124], 0
je 0x42acb6
mov byte [ebp - 0xf0], 1
jmp 0x42acc7
mov dl, byte [ebp - 0xaf]
mov byte [ebp - 0xf0], 0
test dl, dl
je 0x42acdf
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x42acdf
call fcn.0040b020
test al, al
jne 0x42ad00
cmp byte [ebp - 0xb2], 0
je 0x42ad19
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x42ad19
call fcn.0040b020
test al, al
je 0x42ad19
cmp byte [ebp - 0xd0], 0
jne 0x42ad19
cmp byte [ebp - 0x124], 0
mov byte [ebp - 0xb2], 1
jne 0x42ad20
mov byte [ebp - 0xb2], 0
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x42ad7b
call fcn.0040b020
test al, al
je 0x42ad7b
cmp byte [ebp - 0xb1], 0
je 0x42ad55
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.004285d0
jmp 0x42b50a
cmp byte [ebp - 0xae], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x42add6
call fcn.0040b020
test al, al
je 0x42add6
cmp byte [ebp - 0xb1], 0
je 0x42adb0
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.004285d0
jmp 0x42b50a
cmp byte [ebp - 0xae], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x42ae4f
call fcn.0040b020
test al, al
je 0x42ae4f
cmp byte [ebp - 0xc8], 0
je 0x42ae4f
cmp byte [edi + 0xfc], 0
je 0x42ae2f
mov edx, dword [ebp - 0xe8]
xorps xmm1, xmm1
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [edi + 0x18d8]
mov dword [edx + 0x6c], 0
mov dword [edx + 0x74], 0
maxss xmm0, xmm1
movss dword [edx + 0x64], xmm0
jmp 0x42b51e
movzx eax, byte [ebp - 0xb1]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.004285d0
jmp 0x42b50a
mov ecx, dword [0x4598f8]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x42aed2
call fcn.0040b020
test al, al
je 0x42aed2
cmp byte [ebp - 0xc8], 0
je 0x42aed2
cmp byte [edi + 0xfc], 0
je 0x42aeb2
mov ecx, dword [ebp - 0xe8]
mov eax, dword [0x4598f8]
movss xmm0, dword [ecx + 0x54]
addss xmm0, dword [edi + 0x18d8]
mov eax, dword [eax + 0x1a10]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x6c], 0
mov dword [ecx + 0x74], 0
movss dword [ecx + 0x64], xmm0
jmp 0x42b51e
movzx eax, byte [ebp - 0xb1]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x48]
test ecx, ecx
js 0x42af3e
call fcn.0040b020
test al, al
je 0x42af3e
cmp byte [ebp - 0xc8], 0
je 0x42af3e
or esi, 0x20000e
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.004285d0
movd xmm0, dword [ebp - 0xc4]
movss xmm1, dword [ebp - 0x118]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x18d8]
subss xmm1, xmm0
movss dword [ebp - 0x118], xmm1
jmp 0x42b51b
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
js 0x42afa6
call fcn.0040b020
test al, al
je 0x42afa6
cmp byte [ebp - 0xc8], 0
je 0x42afa6
or esi, 0x20000f
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.004285d0
movd xmm0, dword [ebp - 0xc4]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x18d8]
addss xmm0, dword [ebp - 0x118]
movss dword [ebp - 0x118], xmm0
jmp 0x42b51b
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x42afe2
call fcn.0040b020
test al, al
je 0x42afe2
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x200006
or esi, 0x200004
cmp byte [edi + 0xfc], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x42b01e
call fcn.0040b020
test al, al
je 0x42b01e
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x200007
or esi, 0x200005
cmp byte [edi + 0xfc], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x42b052
call fcn.0040b020
test al, al
je 0x42b052
cmp byte [ebp - 0xd0], 0
jne 0x42b052
or esi, 0x200008
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x42b0ed
call fcn.0040b020
test al, al
je 0x42b0ed
cmp byte [ebp - 0xd0], 0
jne 0x42b0ed
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x42b0d7
cmp byte [ebp - 0xae], 0
je 0x42b090
push 0x60000c
jmp 0x42b0b9
cmp byte [ebp - 0x125], 0
je 0x42b0d7
cmp byte [edi + 0xff], 0
je 0x42b0d7
cmp byte [edi + 0xfe], 0
jne 0x42b0d7
cmp byte [edi + 0xfc], 0
jne 0x42b0d7
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004285d0
mov dword [ebx + 0xe68], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe6c], 1
or esi, 0x200009
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x42b102
call fcn.0040b020
test al, al
jne 0x42b11b
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x42b198
call fcn.0040b020
test al, al
je 0x42b198
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xc8], 0
je 0x42b13c
mov cl, byte [edi + 0xfc]
test al, al
je 0x42b14f
test cl, cl
jne 0x42b153
mov byte [ebp - 0xc9], 1
mov byte [ebp - 0xba], 1
jmp 0x42b51e
test cl, cl
jne 0x42b13c
cmp byte [ebp - 0xd0], 0
jne 0x42b51e
sub esp, 8
mov dword [ebp - 0xc4], 0xa
lea ecx, [ebp - 0xc4]
call fcn.004296c0
add esp, 8
test al, al
je 0x42b51e
push dword [ebp - 0xc4]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004285d0
jmp 0x42b50a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x42b1ba
call fcn.0040b020
test al, al
je 0x42b1ba
mov cl, 1
mov byte [ebp - 0xc9], cl
jmp 0x42b524
mov al, byte [ebp - 0xf0]
test al, al
jne 0x42b4eb
cmp byte [ebp - 0xb2], al
jne 0x42b4eb
cmp byte [ebp - 0xaf], al
je 0x42b211
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x42b211
call fcn.0040b020
test al, al
je 0x42b211
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x52], 0
mov byte [ebx + 0xe6c], 1
jmp 0x42b51e
mov al, byte [ebp - 0xb9]
test al, al
jne 0x42b3dd
cmp byte [ebp - 0xef], al
jne 0x42b3dd
cmp byte [ebp - 0xee], al
je 0x42b51e
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x42b25c
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x42b261
jmp 0x42b51e
mov esi, 0x43a67e
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b266
mov eax, dword [0x4598f8]
sub ecx, edx
test eax, eax
je 0x42b27e
inc dword [eax + 0x370]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xb8], eax
cmp byte [esi], al
je 0x42b314
xor edi, edi
mov ebx, ecx
nop word [eax + eax]
push 0
mov edx, esi
lea ecx, [ebp - 0xe0]
call fcn.00406050
add esp, 4
add esi, eax
cmp dword [ebp - 0xe0], 0
je 0x42b2f6
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xe0]
sub esp, 8
call fcn.004296c0
add esp, 8
test al, al
je 0x42b2f1
mov ax, word [ebp - 0xe0]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x42b2b0
mov ebx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0x108]
mov eax, dword [ebp - 0xb8]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x42b3bd
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 4]
cmp ecx, edx
je 0x42b348
cmp ecx, eax
jle 0x42b338
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x42b341
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x42b348
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x42b350
mov dword [ebx + 0x3c], eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00428540
push dword [ebp - 0xb8]
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push dword [ebp - 0xf4]
call fcn.004280b0
add esp, 8
test al, al
je 0x42b39c
push dword [ebp - 0xb8]
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x5c]
push 0
call fcn.004293a0
mov eax, dword [ebp - 0xb8]
add esp, 8
add dword [ebx + 0x3c], eax
mov byte [ebx + 0x52], 0
jmp 0x42b3b0
movzx eax, word [ebx + 0xe5a]
test ax, ax
je 0x42b3b0
dec eax
mov word [ebx + 0xe5a], ax
mov ecx, dword [ebp - 0xf4]
mov byte [ebx + 0xe6c], 1
test ecx, ecx
je 0x42b3d0
mov eax, dword [0x4598f8]
test eax, eax
je 0x42b3d0
dec dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push ecx
call eax
jmp 0x42b51b
cmp dword [edi + 0xd4], 0
je 0x42b4ac
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x42b3fe
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x42b403
mov edx, dword [ebx + 4]
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xc4], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.00406330
mov ecx, dword [0x4598f8]
inc eax
mov dword [ebp - 0xd8], eax
test ecx, ecx
je 0x42b434
inc dword [ecx + 0x370]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x12c], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0xe0]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.00406260
mov eax, dword [0x4598f8]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x42b48d
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x4598f8]
add esp, 8
test esi, esi
je 0x42b49b
test eax, eax
je 0x42b49b
dec dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [ebp - 0xb9]
add esp, 4
test al, al
je 0x42b51e
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x42b4cc
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x52], 0
mov byte [ebx + 0xe6c], 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x42b51e
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00428540
mov byte [ebx + 0x52], 0
jmp 0x42b51e
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.004285d0
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
add esp, 4
mov cl, byte [ebp - 0xad]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x42b539
cmp byte [ebp - 0xb0], 0
je 0x42b539
mov al, 1
jmp 0x42b53b
xor al, al
or byte [ebp - 0xb3], al
mov eax, dword [edi + 0x1a48]
mov esi, dword [ebp - 0xc0]
cmp eax, esi
jne 0x42bb1c
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xe4], 0
test cl, cl
je 0x42b78f
cmp byte [ebp - 0xd0], 0
jne 0x42b6c5
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xd4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42b5b0
test dl, dl
je 0x42b5ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42b5b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42b590
xor eax, eax
jmp 0x42b5b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x42b6c5
mov eax, dword [ebx + 0x24]
mov ecx, esi
dec eax
mov dword [ebp - 0xb8], ecx
xor esi, esi
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], esi
test eax, eax
jle 0x42b625
lea edx, [ecx + eax]
call fcn.00406220
lea esi, [eax + 1]
test esi, esi
jle 0x42b606
mov ecx, 8
mov eax, esi
cmp esi, ecx
cmovl eax, ecx
lea ecx, [ebp - 0x10]
push eax
call fcn.00415dd0
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 8]
add eax, edx
push 0
push eax
push edx
mov edx, esi
call fcn.004061b0
add esp, 0xc
xor ecx, ecx
lea eax, [esi - 1]
cmp dword [ebp - 0xe4], ecx
mov esi, dword [ebx + 4]
cmovle eax, ecx
lea ecx, [ebx + 0x5c]
push eax
push esi
xor edx, edx
mov dword [ebp - 0xd8], eax
call fcn.004293a0
mov edx, eax
add esp, 8
test edx, edx
je 0x42b670
xor ecx, ecx
test esi, esi
jle 0x42b670
nop word [eax + eax]
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x42b660
push dword [ebx + 4]
xor edx, edx
mov ecx, ebx
call fcn.00428050
mov esi, dword [ebp - 0xd8]
add esp, 4
test esi, esi
jle 0x42b6a4
push esi
push dword [ebp - 8]
xor edx, edx
mov ecx, ebx
call fcn.004280b0
add esp, 8
test al, al
je 0x42b6a4
mov dword [ebx + 0x3c], esi
mov byte [ebx + 0x52], 0
mov eax, dword [ebp - 8]
test eax, eax
je 0x42b6c5
mov ecx, dword [0x4598f8]
test ecx, ecx
je 0x42b6bb
dec dword [ecx + 0x370]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
cmp byte [ebp - 0xba], 0
mov eax, dword [ebp + 0x14]
je 0x42b6d9
test al, 0x20
jne 0x42b792
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xb8]
test edx, edx
je 0x42baf8
cmp byte [ebp - 0xec], 0
je 0x42babe
mov dword [ebp - 0xa8], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x98], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x94], ecx
mov ecx, 0x20
cmp eax, ecx
movlpd qword [ebp - 0xa0], xmm0
movlpd qword [ebp - 0x8c], xmm0
cmovle eax, ecx
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
xor eax, eax
mov dword [ebp - 0xac], 0x40000
mov dword [ebp - 0xa4], 0
call eax
mov esi, dword [ebp - 0x90]
add esp, 4
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
lea ecx, [esi - 1]
cmp dword [ebp - 0x94], ecx
cmovl ecx, dword [ebp - 0x94]
jmp 0x42bac3
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xd0], 0
jne 0x42b7f2
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ebx + 0x1c]
cmp esi, eax
jle 0x42b7da
test eax, eax
je 0x42b7c3
cdq
sub eax, edx
lea edx, [ebx + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42b7cb
mov ecx, 8
lea edx, [ebx + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00415d60
mov dword [ebx + 0x18], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.00406260
mov eax, dword [ebp + 0x14]
add esp, 8
test eax, 0x801c0
je 0x42ba61
mov esi, 0x16
test al, 0x40
je 0x42b825
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x42b822
call fcn.0040b020
test al, al
je 0x42b822
lea eax, [esi + 0x2a]
xor esi, esi
jmp 0x42b891
mov eax, dword [ebp + 0x14]
test al, al
jns 0x42b86a
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x42b848
call fcn.0040b020
test al, al
je 0x42b848
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x42b891
mov eax, dword [0x4598f8]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x42b867
call fcn.0040b020
test al, al
je 0x42b867
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x42b891
mov eax, dword [ebp + 0x14]
test eax, 0x80000
je 0x42b881
cmp byte [ebx + 0xe6e], 0
je 0x42b881
mov eax, 0x80000
jmp 0x42b891
test eax, 0x100
je 0x42ba61
mov eax, 0x100
mov dword [ebp - 0x7c], eax
xor ecx, ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x6c], esi
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x3c]
mov word [ebp - 0x5b], cx
mov byte [ebp - 0x59], cl
mov dword [ebp - 0x74], ecx
mov byte [ebp - 0x5c], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0x70], 0
call fcn.00406330
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00406330
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x54], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00406330
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x7c]
push eax
xor eax, eax
call eax
mov eax, dword [ebp - 0x58]
add esp, 4
cmp eax, edi
mov edi, dword [ebp - 0x68]
jne 0x42b922
mov cl, byte [ebp - 0x5c]
test cl, cl
je 0x42b93c
lea edx, [eax + edi]
mov ecx, edi
call fcn.00406220
mov cl, byte [ebp - 0x5c]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x58]
mov byte [ebx + 0xe6c], 1
mov esi, dword [ebp - 0x54]
cmp esi, dword [ebp - 0xd8]
jne 0x42b94b
test cl, cl
je 0x42b964
cmp esi, eax
jne 0x42b954
mov eax, dword [ebx + 0x3c]
jmp 0x42b95e
lea edx, [esi + edi]
mov ecx, edi
call fcn.00406220
mov cl, byte [ebp - 0x5c]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x12c]
jne 0x42b977
test cl, cl
je 0x42ba58
cmp eax, esi
jne 0x42b980
mov eax, dword [ebx + 0x40]
jmp 0x42b98a
lea edx, [eax + edi]
mov ecx, edi
call fcn.00406220
cmp byte [ebp - 0x5c], 0
mov dword [ebx + 0x44], eax
je 0x42ba58
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xf8]
cmp esi, ecx
jle 0x42b9e9
cmp byte [ebp - 0xec], 0
je 0x42b9e9
mov eax, dword [ebx + 0x10]
sub esi, ecx
add esi, dword [ebx + 0xc]
cmp esi, eax
jle 0x42b9e6
test eax, eax
je 0x42b9cc
cdq
sub eax, edx
lea edx, [ebx + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42b9d4
mov ecx, 8
lea edx, [ebx + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00415dd0
mov edi, dword [ebp - 0x68]
mov dword [ebx + 0xc], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebx + 0xc]
dec eax
mov dword [ebp - 0xc4], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x12c], eax
cmp ecx, eax
jae 0x42ba3c
cmp byte [edi], 0
je 0x42ba36
push 0
mov edx, edi
lea ecx, [ebp - 0xd8]
call fcn.00406050
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x42ba36
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x12c]
jb 0x42ba05
mov ecx, dword [ebp - 0xc4]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x64]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe68], 0xbe99999a
mov edi, dword [ebp - 0x108]
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xd0], 0
jne 0x42b6d9
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xd4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42baa0
test dl, dl
je 0x42ba9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42baa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ba80
xor eax, eax
jmp 0x42baa5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x42b6d9
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xb8], esi
jmp 0x42b6df
mov esi, 0x20
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x42baf1
jbe 0x42bae6
lea eax, [esi - 1]
push eax
push edx
push dword [ebp - 0xd4]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [ebp - 0xd4]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0xd9], 1
mov esi, dword [ebp - 0xc0]
mov dword [ebx + 0xe70], 0
mov dword [ebx + 0xe74], 0
mov dword [ebx + 0xe78], 0
cmp byte [ebp - 0xc9], 0
je 0x42bb32
cmp dword [edi + 0x1a48], esi
jne 0x42bb32
call fcn.00407930
mov edx, dword [ebp - 0xc8]
test dl, dl
jne 0x42bbee
push 1
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.00406c40
movss xmm1, dword [0x43efc0]
add esp, 4
mov ecx, 7
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.00406460
movss xmm2, dword [edi + 0x1558]
mov dl, 1
mov ecx, eax
call fcn.00406a20
movss xmm0, dword [ebp - 0x4c]
add esp, 0x10
movss xmm4, dword [ebp - 0x104]
movss xmm3, dword [ebp - 0x48]
movaps xmm6, xmm4
mov edx, dword [ebp - 0xc8]
addss xmm6, xmm0
movss dword [ebp - 0x24], xmm0
movaps xmm5, xmm3
addss xmm0, dword [edi + 0x1550]
addss xmm5, dword [ebp - 0x100]
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x124], xmm6
movss dword [ebp - 0x1c], xmm6
movss dword [ebp - 0xc], xmm0
movaps xmm0, xmm3
addss xmm0, dword [edi + 0x1554]
movss dword [ebp - 0xf4], xmm5
movss dword [ebp - 0x18], xmm5
movss dword [ebp - 8], xmm0
jmp 0x42bc4e
movss xmm4, dword [ebp - 0x104]
movss xmm1, dword [ebp - 0x4c]
movaps xmm0, xmm4
movss xmm2, dword [ebp - 0x48]
addss xmm0, xmm1
mov ecx, dword [ebp - 0xe8]
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x124], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx + 0xd0]
mov ecx, dword [ecx + 0xd4]
movss dword [ebp - 0xf4], xmm0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
cmp byte [ebp - 0xed], 0
lea eax, [ebp - 0xc]
movss xmm0, dword [eax]
xorps xmm2, xmm2
movss xmm6, dword [eax + 4]
movss dword [ebp - 0x110], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xc0], eax
movss dword [ebp - 0xfc], xmm6
movss dword [ebp - 0x10c], xmm6
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0x158], xmm0
movss dword [ebp - 0xe0], xmm0
movss dword [ebp - 0x154], xmm0
je 0x42bcb2
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0xd4], ecx
jmp 0x42bcb8
mov ecx, dword [ebp - 0xd4]
cmp byte [ebp - 0xb0], 0
jne 0x42bdc8
cmp byte [ebp - 0xb3], 0
jne 0x42bdc8
test dl, dl
je 0x42bd40
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
mov dl, byte [eax]
lea ebx, [eax + 1]
test dl, dl
je 0x42bcf9
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x42bce7
mov al, byte [ebx - 1]
dec ebx
cmp al, 0xa
je 0x42bd06
cmp al, 0xd
je 0x42bd06
inc ecx
movd xmm0, ecx
movaps xmm1, xmm4
mov ecx, dword [ebp - 0xd4]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xc4], xmm1
mulss xmm0, dword [edi + 0x18d8]
movss dword [ebp - 0x158], xmm1
movss dword [ebp - 0xe0], xmm0
movss dword [ebp - 0x154], xmm0
jmp 0x42bd78
cmp dword [edi + 0x1a48], esi
jne 0x42bd4f
mov ebx, dword [ebx + 8]
add ebx, ecx
jmp 0x42bd69
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bd52
mov ebx, dword [ebp - 0xd4]
sub ecx, edx
add ebx, ecx
mov ecx, dword [ebp - 0xd4]
mov eax, ebx
sub eax, ecx
cmp eax, 0x200000
jge 0x42c825
movss xmm1, dword [0x43efc0]
lea eax, [ebp - 0x24]
xor edx, edx
cmp byte [ebp - 0xc8], dl
cmovne eax, edx
push eax
push ecx
mov dword [esp], edx
push ebx
push ecx
xor ecx, ecx
call fcn.00406460
movss xmm2, dword [edi + 0x18d8]
push eax
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp - 0xe8]
push dword [edi + 0x18d4]
mov ecx, dword [eax + 0x294]
call fcn.0041f9d0
jmp 0x42c825
mov eax, dword [ebx + 8]
mov esi, 0xfffffc18
mov dword [ebp - 0x144], eax
xor edx, edx
add eax, ecx
movss dword [ebp - 0x12c], xmm2
xorps xmm7, xmm7
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x120], esi
mov dword [ebp - 0xb8], esi
cmp byte [ebp - 0xb0], dl
je 0x42be34
mov eax, dword [ebx + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x120], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x114], eax
lea edx, [esi + 2]
cmp byte [ebp - 0xb3], 0
je 0x42be67
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov eax, dword [ebp - 0xe4]
cmovl ecx, dword [ebx + 0x40]
inc edx
mov dword [ebp - 0xb8], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x11c], eax
mov edi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
movzx eax, al
add edx, eax
xor eax, eax
movzx edi, word [edi]
test di, di
mov edi, dword [ebp - 0x108]
je 0x42bf09
mov ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x120]
movzx esi, word [ebx]
xor ebx, ebx
nop dword [eax]
cmp si, 0xa
jne 0x42bed7
inc ebx
cmp edi, 0xffffffff
jne 0x42bebb
cmp ecx, dword [ebp - 0x114]
jb 0x42bebb
dec edx
mov edi, ebx
test edx, edx
jle 0x42bee5
cmp dword [ebp - 0xb8], 0xffffffff
jne 0x42bed7
cmp ecx, dword [ebp - 0x11c]
jb 0x42bed7
dec edx
mov dword [ebp - 0xb8], ebx
test edx, edx
jle 0x42bee5
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x42bea0
mov dword [ebp - 0xec], ebx
mov ebx, dword [ebp - 0x134]
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x120], edi
mov edi, dword [ebp - 0x108]
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0xe4]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0xec], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0xb8], ecx
mov ecx, esi
cmp esi, edx
jbe 0x42bf50
cmp word [ecx - 2], 0xa
je 0x42bf50
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x42bf42
mov eax, dword [0x4598f8]
movaps xmm1, xmm2
movaps xmm5, xmm2
mov edx, dword [eax + 0x18d4]
movss xmm3, dword [eax + 0x18d8]
divss xmm3, dword [edx + 0x10]
cmp ecx, esi
jae 0x42bfc0
mov ebx, dword [ebp - 0x114]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x42bf8e
maxss xmm1, xmm5
movaps xmm5, xmm2
jmp 0x42bfb6
cmp esi, 0xd
je 0x42bfb6
mov esi, eax
cmp esi, dword [edx]
jge 0x42bfa3
mov eax, dword [edx + 8]
movss xmm2, dword [eax + esi*4]
jmp 0x42bfa8
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
xorps xmm2, xmm2
addss xmm5, xmm0
cmp ecx, ebx
jb 0x42bf78
mov ebx, dword [ebp - 0x134]
cmp dword [ebp - 0xb8], 0
maxss xmm5, xmm1
movd xmm0, dword [ebp - 0xd8]
movss xmm4, dword [edi + 0x18d8]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x14c], xmm5
mulss xmm0, xmm4
movss dword [ebp - 0xd8], xmm0
jl 0x42c097
mov eax, dword [ebp - 0x11c]
mov ecx, eax
mov esi, dword [ebp - 0xe4]
cmp eax, esi
jbe 0x42c024
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x42c01e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x42c010
mov eax, dword [ebp - 0x11c]
movaps xmm1, xmm2
movaps xmm7, xmm2
cmp ecx, eax
jae 0x42c07c
mov edi, dword [ebp - 0x11c]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x42c04a
maxss xmm1, xmm7
movaps xmm7, xmm2
jmp 0x42c072
cmp esi, 0xd
je 0x42c072
mov esi, eax
cmp esi, dword [edx]
jge 0x42c05f
mov eax, dword [edx + 8]
movss xmm2, dword [eax + esi*4]
jmp 0x42c064
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
xorps xmm2, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x42c034
mov edi, dword [ebp - 0x108]
movd xmm0, dword [ebp - 0xb8]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0x12c], xmm0
mov edx, dword [ebp - 0xc8]
movss xmm1, dword [ebp - 0x104]
test dl, dl
je 0x42c0dd
movd xmm3, dword [ebp - 0xec]
movaps xmm0, xmm1
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0xc4], xmm0
mulss xmm3, xmm4
movss dword [ebp - 0x158], xmm0
movss dword [ebp - 0xe0], xmm3
movss dword [ebp - 0x154], xmm3
jmp 0x42c0e5
movss xmm3, dword [ebp - 0xe0]
cmp byte [ebp - 0xb0], 0
je 0x42c21e
cmp byte [ebx + 0xe6c], 0
je 0x42c21e
test dword [ebp + 0x14], 0x1000
jne 0x42c150
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm1
comiss xmm2, xmm5
mulss xmm0, dword [0x43ef7c]
movaps xmm1, xmm5
jbe 0x42c13d
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x42c157
subss xmm1, dword [ebp - 0x104]
comiss xmm1, xmm2
jb 0x42c157
addss xmm0, xmm1
jmp 0x42c12b
mov dword [ebx + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x42c1fd
movss xmm1, dword [ebp - 0xd8]
movss xmm4, dword [ebp - 0x118]
movaps xmm0, xmm1
subss xmm0, dword [edi + 0x18d8]
movss xmm5, dword [ebp - 0x100]
comiss xmm4, xmm0
jbe 0x42c193
xorps xmm4, xmm4
maxss xmm4, xmm0
jmp 0x42c1af
movaps xmm0, xmm1
subss xmm0, xmm5
comiss xmm0, xmm4
jb 0x42c1af
movss xmm4, dword [edi + 0x1554]
addss xmm4, xmm4
addss xmm4, xmm0
comiss xmm2, xmm4
movss xmm1, dword [edi + 0x1554]
jbe 0x42c1c1
xorps xmm1, xmm1
jmp 0x42c1d5
addss xmm1, xmm1
addss xmm1, xmm3
subss xmm1, xmm5
maxss xmm1, xmm2
minss xmm1, xmm4
mov eax, dword [ebp - 0xe8]
movss xmm0, dword [eax + 0x54]
subss xmm0, xmm1
movss dword [eax + 0x54], xmm1
addss xmm0, xmm6
movss dword [ebp - 0xfc], xmm0
movss dword [ebp - 0x10c], xmm0
mov byte [ebx + 0xe6c], 0
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x124], xmm0
cmp byte [ebp - 0xb3], 0
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0x114], xmm4
je 0x42c51e
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0xe4]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xb0], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xe4]
lea eax, [eax + edx*2]
mov dword [ebp - 0xec], eax
je 0x42c273
movss xmm1, dword [0x43efc0]
jmp 0x42c27b
movss xmm1, dword [0x43ef94]
mov ecx, 0x2a
call fcn.00406460
mov edx, dword [ebp - 0xc8]
xorps xmm6, xmm6
mov dword [ebp - 0x118], eax
test dl, dl
je 0x42c2aa
movss dword [ebp - 0x11c], xmm6
movss dword [ebp - 0x120], xmm6
jmp 0x42c2ca
movss xmm0, dword [0x43f104]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [0x43eff8]
movss dword [ebp - 0x120], xmm0
mov ecx, dword [ebp - 0xc0]
movss xmm4, dword [ebp - 0x114]
movss xmm3, dword [ecx]
mov ecx, dword [ebp - 0xec]
addss xmm3, xmm7
movss xmm7, dword [ebp - 0xfc]
movaps xmm5, xmm7
addss xmm5, dword [ebp - 0x12c]
subss xmm3, xmm4
subss xmm5, xmm6
movss dword [ebp - 0x12c], xmm5
cmp esi, ecx
jae 0x42c529
movss xmm7, dword [edi + 0x18d8]
movss xmm4, dword [ebp - 0xf4]
movaps xmm1, xmm7
movss xmm2, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0x118]
movaps xmm0, xmm4
addss xmm0, xmm1
comiss xmm5, xmm0
ja 0x42c50a
comiss xmm2, xmm5
jbe 0x42c36a
cmp esi, ecx
jae 0x42c4df
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x42c4d9
cmp esi, ecx
jb 0x42c352
jmp 0x42c4d9
mov eax, dword [0x4598f8]
xorps xmm2, xmm2
xorps xmm6, xmm6
xorps xmm1, xmm1
mov edx, dword [eax + 0x18d4]
movss xmm4, dword [eax + 0x18d8]
divss xmm4, dword [edx + 0x10]
cmp esi, ecx
jae 0x42c3df
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x42c3cc
cmp ecx, 0xd
je 0x42c3c0
cmp ecx, dword [edx]
jge 0x42c3b0
mov eax, dword [edx + 8]
movss xmm2, dword [eax + ecx*4]
jmp 0x42c3b5
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm4
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0xec]
cmp esi, ecx
jb 0x42c390
jmp 0x42c3dc
mov ecx, dword [ebp - 0xec]
xorps xmm6, xmm6
maxss xmm6, xmm1
xorps xmm1, xmm1
xorps xmm2, xmm2
maxss xmm1, xmm6
comiss xmm2, xmm1
jb 0x42c418
mov eax, dword [edi + 0x18d4]
cmp dword [eax], 0x20
jle 0x42c400
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x42c405
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x43ef90]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x120]
addss xmm1, xmm3
movss xmm4, dword [ebp - 0xf4]
addss xmm3, xmm2
movss xmm2, dword [ebp - 0x11c]
addss xmm0, xmm5
movss xmm6, dword [ebp - 0x124]
subss xmm2, xmm7
minss xmm1, xmm6
maxss xmm3, dword [ebp - 0x24]
minss xmm0, xmm4
addss xmm2, xmm5
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x34], xmm3
comiss xmm0, dword [ebp - 0x20]
maxss xmm2, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x30], xmm2
jbe 0x42c4d4
comiss xmm4, xmm2
jbe 0x42c4d4
comiss xmm1, dword [ebp - 0x24]
jbe 0x42c4d4
comiss xmm6, xmm3
jbe 0x42c4d4
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x2c]
push ebx
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x294]
call fcn.0041f770
movss xmm4, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x1c]
movss xmm5, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xec]
movss dword [ebp - 0xf4], xmm4
movss dword [ebp - 0x124], xmm0
movss xmm2, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc0]
movss xmm7, dword [edi + 0x18d8]
movss xmm3, dword [eax]
addss xmm5, xmm7
movaps xmm1, xmm7
subss xmm3, dword [ebp - 0x114]
movss dword [ebp - 0x12c], xmm5
cmp esi, ecx
jb 0x42c335
movss xmm4, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x134]
mov edx, dword [ebp - 0xc8]
movss xmm7, dword [ebp - 0xfc]
xorps xmm6, xmm6
test dl, dl
jne 0x42c53d
cmp dword [ebp - 0x144], 0x200000
jge 0x42c683
mov eax, dword [0x4598f8]
movups xmm1, xmmword [eax + 0x15d4]
comiss xmm6, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1518]
movups xmmword [ebp - 0x34], xmm1
jbe 0x42c566
xorps xmm0, xmm0
jmp 0x42c572
movss xmm0, dword [0x43efc0]
minss xmm0, xmm1
movss xmm3, dword [0x43f0b4]
movss xmm5, dword [0x43ef90]
movss xmm1, dword [ebp - 0x30]
comiss xmm6, xmm1
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x42c59d
xorps xmm0, xmm0
jmp 0x42c5a9
movss xmm0, dword [0x43efc0]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x2c]
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm1
jbe 0x42c5c9
xorps xmm0, xmm0
jmp 0x42c5d5
movss xmm0, dword [0x43efc0]
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm2
jbe 0x42c5f0
xorps xmm1, xmm1
jmp 0x42c5fc
movss xmm1, dword [0x43efc0]
minss xmm1, xmm2
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x24]
mulss xmm1, xmm3
subss xmm7, xmm6
test dl, dl
mov dword [ebp - 0x144], 0
movss xmm2, dword [edi + 0x18d8]
cmovne eax, dword [ebp - 0x144]
movss xmm0, dword [esi]
addss xmm1, xmm5
push eax
push ecx
mov dword [esp], 0
subss xmm0, xmm4
push dword [ebp - 0xf8]
cvttss2si eax, xmm1
push dword [ebp - 0xd4]
shl eax, 0x18
or eax, ecx
movss dword [ebp - 0x130], xmm0
push eax
lea eax, [ebp - 0x130]
movss dword [ebp - 0x12c], xmm7
push eax
mov eax, dword [ebp - 0xe8]
push dword [edi + 0x18d4]
mov ecx, dword [eax + 0x294]
call fcn.0041f9d0
jmp 0x42c689
mov esi, dword [ebp - 0xc0]
cmp byte [ebp - 0xb0], 0
je 0x42c81f
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe68]
movss dword [ebx + 0xe68], xmm0
cmp byte [edi + 0xb2], 0
je 0x42c6fb
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x42c6fb
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x148], xmm0
fld qword [ebp - 0x148]
fld qword [0x43efe8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x43efb0]
fstp qword [ebp - 0x148]
movsd xmm1, qword [ebp - 0x148]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x42c6fb
xor al, al
jmp 0x42c6fd
mov al, 1
movss xmm0, dword [ebp - 0xfc]
movss xmm4, dword [esi]
movss xmm5, dword [0x43efc0]
addss xmm0, dword [ebp - 0xd8]
addss xmm4, dword [ebp - 0x14c]
subss xmm0, dword [0x43ef54]
subss xmm4, dword [ebp - 0x114]
movss dword [ebp - 0xfc], xmm0
movaps xmm1, xmm0
movss dword [ebp - 0x14c], xmm4
movaps xmm3, xmm4
movss dword [ebp - 0x34], xmm4
movaps xmm2, xmm0
addss xmm3, xmm5
subss xmm1, dword [edi + 0x18d8]
subss xmm2, dword [0x43efcc]
movss dword [ebp - 0x2c], xmm3
addss xmm1, dword [0x43ef90]
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x30], xmm1
test al, al
je 0x42c7f2
comiss xmm2, dword [ebp - 0x20]
jbe 0x42c7f2
movss xmm0, dword [ebp - 0x18]
comiss xmm0, xmm1
jbe 0x42c7ea
comiss xmm3, dword [ebp - 0x24]
jbe 0x42c7ea
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm4
jbe 0x42c7ea
sub esp, 8
movss dword [ebp - 0xc], xmm4
movaps xmm1, xmm5
movss dword [ebp - 8], xmm2
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00406460
add esp, 4
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x294]
call fcn.0041f650
movss xmm4, dword [ebp - 0x14c]
movss xmm5, dword [0x43efc0]
movss xmm0, dword [ebp - 0xfc]
cmp byte [ebp - 0xd0], 0
mov ebx, dword [ebp - 0xf8]
jne 0x42c825
subss xmm0, dword [edi + 0x18d8]
subss xmm4, xmm5
movss dword [edi + 0x2de8], xmm0
movss dword [edi + 0x2de4], xmm4
jmp 0x42c825
mov ebx, dword [ebp - 0xf8]
cmp byte [ebp - 0x138], 0
je 0x42c833
call fcn.00410120
cmp byte [ebp - 0xc8], 0
je 0x42c8c9
mov ecx, dword [0x4598f8]
mov eax, dword [ecx + 0x1a10]
mov byte [eax + 0x84], 1
mov eax, dword [ecx + 0x1a10]
cmp byte [eax + 0x87], 0
jne 0x42c8bf
movss xmm2, dword [eax + 0xd0]
lea ecx, [ebp - 0x158]
movss xmm0, dword [eax + 0xd4]
movaps xmm3, xmm2
movss xmm4, dword [ebp - 0xe0]
addss xmm3, dword [ebp - 0xc4]
movss xmm1, dword [0x43f104]
addss xmm4, xmm0
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x2c], xmm3
movss dword [ebp - 0x28], xmm4
call fcn.00410390
push 0
xor edx, edx
lea ecx, [ebp - 0x34]
call fcn.004104c0
add esp, 4
call fcn.0040b3d0
call fcn.00410860
cmp byte [edi + 0x2e2c], 0
je 0x42c8f0
cmp byte [ebp - 0x138], 0
jne 0x42c8f0
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0x110]
push ebx
call fcn.00414930
add esp, 4
movss xmm0, dword [ebp - 0x150]
comiss xmm0, dword [0x43ef54]
jbe 0x42c949
movss xmm0, dword [ebp - 0x44]
xor edx, edx
addss xmm0, dword [edi + 0x1568]
mov ecx, dword [ebp - 0x13c]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [edi + 0x1554]
movss dword [ebp - 0x10c], xmm0
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push 1
call fcn.004065c0
add esp, 0xc
mov dl, byte [ebp - 0xd9]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x42c979
test ecx, 0x200000
jne 0x42c979
mov eax, dword [0x4598f8]
mov word [eax + 0x1a58], 0x101
mov eax, dword [eax + 0x1a10]
or dword [eax + 0x118], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xba]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004384ec
mov esp, ebp
pop ebp
ret