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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x430ad0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa8
mov eax, dword [0x438040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x4386c0]
mov ecx, esi
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x48], ecx
mov eax, dword [ecx + 0x1ba8]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1ba8]
mov dword [ebp - 0xb0], eax
cmp byte [eax + 0x8f], 0
jne 0x42ec1d
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, 0x43131a
call fcn.00405c90
mov ecx, eax
add esp, 4
mov eax, esi
mov dword [ebp - 0x58], ecx
cmp dword [eax + 0x1be0], ecx
jne 0x42c9c9
mov dword [eax + 0x1be4], ecx
cmp dword [eax + 0x1c1c], ecx
jne 0x42c9d8
mov byte [eax + 0x1c20], 1
cmp dword [eax + 0x1bc8], ecx
jne 0x42c9f9
push ecx
push 0x43131a
mov edx, 0xb
call fcn.004167a0
mov esi, dword [0x4386c0]
add esp, 8
mov ecx, 0x43131a
mov eax, ecx
cmp eax, 0xffffffff
jae 0x42ca1b
mov dl, byte [ecx]
test dl, dl
je 0x42ca1b
cmp dl, 0x23
jne 0x42ca15
cmp byte [ecx + 1], dl
je 0x42ca1b
inc ecx
cmp ecx, 0xffffffff
jb 0x42ca05
movss xmm0, dword [esi + 0x1944]
cmp ecx, 0x43131a
jne 0x42ca38
xorps xmm7, xmm7
movss dword [ebp - 0xb4], xmm7
jmp 0x42ca92
movss xmm3, dword [0x435b48]
lea eax, [ebp - 0x90]
push ecx
push ecx
push 0x43131a
push ecx
mov ecx, dword [esi + 0x1940]
movaps xmm2, xmm0
mov dword [esp], 0xbf800000
push eax
call fcn.00425c40
movss xmm0, dword [ebp - 0x90]
xorps xmm7, xmm7
addss xmm0, dword [0x435ab0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x8c]
test byte [esi + 0x1c34], 1
mov eax, dword [ebp - 0x48]
movss xmm6, dword [edi]
movss xmm5, dword [edi + 4]
mov ecx, dword [esi + 0x1ba8]
movss xmm2, dword [eax + 0x1568]
addss xmm2, xmm2
movss dword [ebp - 0x68], xmm6
movss dword [ebp - 0x88], xmm5
addss xmm2, xmm0
je 0x42cad4
movss xmm0, dword [esi + 0x1c38]
jmp 0x42cadc
movss xmm0, dword [ecx + 0x178]
comiss xmm7, xmm0
jbe 0x42cb1b
cmp dword [ecx + 0x168], 0
movss xmm1, dword [ecx + 0x200]
jne 0x42cafb
cmp dword [esi + 0x1f60], 0
je 0x42cb03
movss xmm1, dword [ecx + 0x1d0]
subss xmm1, dword [ecx + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x435ab8]
maxss xmm0, xmm1
comiss xmm7, xmm6
mov edx, ecx
cvttss2si eax, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x42cb38
comiss xmm7, xmm5
jbe 0x42cb62
cmp dword [ecx + 0x168], 0
movss xmm0, dword [ecx + 0x200]
movss xmm1, dword [ecx + 0x204]
jne 0x42cb5a
cmp dword [esi + 0x1f60], 0
je 0x42cb62
movss xmm0, dword [ecx + 0x1d0]
movss xmm3, dword [0x435af0]
ucomiss xmm6, xmm7
lahf
test ah, 0x44
jp 0x42cb7d
movaps xmm6, xmm4
movss dword [ebp - 0x68], xmm6
jmp 0x42cba0
comiss xmm7, xmm6
jbe 0x42cba0
subss xmm0, dword [edx + 0xd0]
addss xmm6, xmm0
comiss xmm3, xmm6
movss dword [ebp - 0x68], xmm6
jb 0x42cba0
movaps xmm6, xmm3
movss dword [ebp - 0x68], xmm3
ucomiss xmm5, xmm7
lahf
test ah, 0x44
jp 0x42cbb6
movaps xmm5, xmm2
movss dword [ebp - 0x88], xmm5
jmp 0x42cbdf
comiss xmm7, xmm5
jbe 0x42cbdf
subss xmm1, dword [edx + 0xd4]
addss xmm5, xmm1
comiss xmm3, xmm5
movss dword [ebp - 0x88], xmm5
jb 0x42cbdf
movaps xmm5, xmm3
movss dword [ebp - 0x88], xmm3
movss xmm0, dword [ebp - 0xb4]
comiss xmm0, xmm7
mov esi, dword [ebp - 0x48]
jbe 0x42cbfc
movaps xmm4, xmm0
addss xmm4, dword [esi + 0x157c]
jmp 0x42cbff
xorps xmm4, xmm4
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x90]
movaps xmm1, xmm6
movaps xmm0, xmm5
movss xmm3, dword [eax + 0xd0]
movss xmm2, dword [eax + 0xd4]
addss xmm1, xmm3
addss xmm0, xmm2
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x34], xmm1
movaps xmm1, xmm6
addss xmm1, xmm4
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
addss xmm1, xmm3
movss dword [ebp - 0x18], xmm0
subss xmm0, xmm2
movss dword [ebp - 0x1c], xmm1
subss xmm1, xmm3
movss dword [ebp - 0x8c], xmm0
movss dword [ebp - 0x90], xmm1
movss xmm1, dword [esi + 0x1568]
call fcn.00410d80
mov edi, dword [ebp - 0x58]
lea eax, [ebp - 0x3c]
push pe_nt_image_headers32
push eax
mov edx, edi
lea ecx, [ebp - 0x24]
call fcn.00410eb0
add esp, 8
test al, al
je 0x42ec1d
mov eax, dword [esi + 0x1c50]
lea ecx, [ebp - 0x3c]
mov edx, edi
mov dword [ebp - 0x78], eax
call fcn.004077d0
mov dl, al
mov byte [ebp - 0x61], dl
test dl, dl
je 0x42cccf
mov dword [esi + 0x1ebc], 1
mov edi, dword [0x4386c0]
xor eax, eax
mov ecx, dword [ebp - 0x58]
add edi, 0x1ff0
cmp dword [edi], ecx
cmovne edi, eax
mov eax, dword [ebp - 0x78]
shr eax, 8
and al, 1
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], eax
cmp dword [esi + 0x1be0], ecx
je 0x42cd18
cmp dword [esi + 0x1d68], ecx
je 0x42cd14
cmp dword [esi + 0x1d5c], ecx
jne 0x42cd18
cmp dword [esi + 0x1d84], 2
jne 0x42cd18
mov ch, 1
jmp 0x42cd1a
xor ch, ch
mov byte [ebp - 0x42], ch
test dl, dl
je 0x42cd2e
cmp byte [esi + 0x3e0], 0
je 0x42cd2e
mov dl, 1
jmp 0x42cd30
xor dl, dl
mov byte [ebp - 0x43], dl
mov byte [ebp - 0x5c], 0
mov byte [ebp - 0x40], 0
test edi, edi
je 0x42cd49
cmp byte [edi + 0x53], 1
je 0x42cd49
mov cl, 1
jmp 0x42cd4b
xor cl, cl
mov byte [ebp - 0x4e], cl
test dl, dl
jne 0x42cd5f
test ch, ch
jne 0x42cd5f
test al, al
jne 0x42cd5f
mov byte [ebp - 0x41], al
jmp 0x42cd6e
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0x41], 1
cmp dword [esi + 0x1be0], eax
jne 0x42cd76
test cl, cl
je 0x42cf5c
mov ecx, 0x4386e8
mov dword [esi + 0x2e58], 0xbe99999a
lea edi, [esi + 0x1ff0]
mov dword [ebp - 0x74], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cd91
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x42cdce
test eax, eax
je 0x42cdb7
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42cdbf
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004173d0
push esi
mov dword [edi + 0x24], esi
push 0x4386e8
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [edi + 0x10]
lea eax, [edi + 0xc]
add esp, 0xc
cmp esi, 0x101
jge 0x42ce1c
test esi, esi
je 0x42ce01
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x42ce06
mov ecx, 8
mov eax, 0x101
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00417440
lea eax, [edi + 0xc]
mov dword [eax], 0x101
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x42ce42
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, [edi + 0x18]
call fcn.004173d0
mov dword [edi + 0x18], 0
mov eax, 0x4386e8
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x60], edx
lea ecx, [edx + 0x1fe]
cmp edx, ecx
jae 0x42ce9f
mov edi, eax
cmp byte [edi], 0
je 0x42ce96
push 0
mov edx, edi
lea ecx, [ebp - 0x4c]
call fcn.00405f40
mov edx, dword [ebp - 0x60]
add edi, eax
mov eax, dword [ebp - 0x4c]
add esp, 4
test eax, eax
je 0x42ce96
mov word [esi], ax
add esi, 2
lea eax, [edx + 0x1fe]
cmp esi, eax
jb 0x42ce66
mov dword [ebp - 0x60], edi
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x60]
xor ecx, ecx
sub eax, 0x4386e8
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x42cee2
cmp byte [ebp - 0x4e], cl
jne 0x42cee2
cmp dword [edi + 0x3c], esi
mov ecx, esi
mov dl, 1
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x42cf1f
xor dl, dl
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe60], ecx
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov word [edi + 0x51], 1
mov dword [edi + 0x58], ecx
mov byte [edi + 0x50], cl
mov byte [edi + 0x53], 1
mov byte [edi + 0x48], cl
mov dword [edi + 0x4c], ecx
cmp byte [ebp - 0x42], 0
mov dword [edi + 0x40], ecx
mov byte [ebp - 0x40], 1
je 0x42cf40
test dl, dl
je 0x42cf3c
mov eax, dword [ebp - 0x48]
test byte [eax + 0x1d6c], 4
jne 0x42cf40
mov byte [ebp - 0x40], 1
cmp byte [ebp - 0x78], 0
mov esi, dword [ebp - 0x48]
jne 0x42cf58
cmp byte [ebp - 0x43], 0
je 0x42cf5c
cmp byte [esi + 0xfc], 0
je 0x42cf5c
mov byte [ebp - 0x40], 1
mov ecx, dword [ebp - 0x58]
cmp dword [esi + 0x1be0], ecx
je 0x42cfb3
cmp byte [ebp - 0x41], 0
je 0x42cfab
mov edx, dword [ebp - 0xb0]
call fcn.004075c0
call fcn.00412050
mov ecx, edx
call fcn.004106b0
or dword [esi + 0x1bf4], 3
or dword [esi + 0x1bf8], 2
mov eax, dword [esi + 0x1c04]
or dword [esi + 0x1c00], 0x180
mov ecx, dword [ebp - 0x58]
mov dword [esi + 0x1c04], eax
cmp dword [esi + 0x1be0], ecx
jne 0x42cfbf
test edi, edi
jne 0x42cfbf
call fcn.00407690
mov ecx, dword [ebp - 0x58]
mov edx, 1
cmp dword [esi + 0x1be0], ecx
jne 0x42cfe7
cmp byte [esi + 0x3e0], 0
je 0x42cfe9
mov eax, dword [ebp - 0x5c]
cmp byte [ebp - 0x41], 0
movzx eax, al
cmove eax, edx
mov dword [ebp - 0x5c], eax
jmp 0x42cfe9
xor dl, dl
mov byte [ebp - 0x4d], dl
test edi, edi
je 0x42d010
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42cffe
cmp byte [ebp - 0x40], 0
je 0x42d010
test dl, dl
je 0x42d010
mov byte [ebp - 0x3d], 1
mov byte [ebp - 0x3f], 0
mov byte [ebp - 0x3e], 0
jmp 0x42d02f
mov byte [ebp - 0x3f], 0
mov byte [ebp - 0x3e], 0
mov byte [ebp - 0x3d], 0
test dl, dl
jne 0x42d02b
mov byte [ebp - 0x3d], dl
cmp dword [esi + 0x1be0], ecx
jne 0x42d039
test edi, edi
je 0x42d039
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x80], 1
jne 0x42d03d
mov byte [ebp - 0x80], 0
mov edx, dword [esi + 0x1940]
cmp dword [edx + 0x14], 0x2a
ja 0x42d04e
mov esi, dword [edx + 0x2c]
jmp 0x42d06d
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x42d064
mov esi, dword [edx + 0x2c]
jmp 0x42d06d
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
add ecx, 0x2e64
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x1940]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edx + 0x1940]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edx + 0x1940]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [edx + 0x1940]
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.004108e0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x58]
cmp dword [edx + 0x1be0], ecx
jne 0x42d711
mov byte [edi + 0xe6e], 0
mov dword [edi + 0x34], pe_nt_image_headers32
mov dword [edi + 0xe70], 0x8038
cmp byte [edx + 0xec], 0
movss xmm2, dword [edx + 0x1944]
mulss xmm2, dword [0x435a80]
sete al
cmp byte [ebp - 0x40], 0
mov byte [edx + 0x1bed], al
mov dword [edx + 0x31f8], 1
movss xmm7, dword [edx + 0xe4]
subss xmm7, dword [ebp - 0x3c]
mov cl, byte [edx + 0xb1]
mov byte [ebp - 0x41], cl
subss xmm7, dword [edx + 0x1564]
addss xmm7, dword [edi + 0x38]
je 0x42d15a
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], 1
jmp 0x42d5e9
mov al, byte [ebp - 0x61]
test al, al
je 0x42d50e
cmp word [edx + 0x3ea], 2
jb 0x42d50e
cmp byte [edx + 0xfd], 0
jne 0x42d50e
cmp byte [edi + 0x53], 0
je 0x42d19a
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.0042b090
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042b400
mov edx, eax
mov byte [edi + 0x52], 0
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x3c], edx
mov dword [edi + 0x40], edx
mov dword [edi + 0x44], edx
movzx ecx, word [eax + 0x3ea]
sub ecx, 2
test cl, 1
jne 0x42d4aa
test edx, edx
je 0x42d1dc
mov eax, dword [edi + 0x14]
cmp word [eax + edx*2 - 2], 0xa
je 0x42d1dc
xor cl, cl
jmp 0x42d1de
mov cl, 1
test cl, cl
jne 0x42d205
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042b7e0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42d223
mov eax, dword [edi + 0x44]
cmp dword [edi + 0x40], eax
jne 0x42d220
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
jmp 0x42d223
mov dword [edi + 0x3c], eax
mov esi, dword [edi + 0x3c]
mov eax, dword [edi + 4]
inc esi
cmp esi, eax
jge 0x42d458
mov eax, dword [edi + 0xe70]
mov dh, byte [ebp - 0x3d]
and eax, 0x8000
mov dword [ebp - 0x4c], eax
mov al, byte [ebp - 0x3e]
mov dword [ebp - 0x60], 0x3000
nop dword [eax]
cmp dword [ebp - 0x4c], 0
mov cl, al
mov dl, byte [ebp - 0x3f]
mov ch, dh
jne 0x42d449
test esi, esi
jle 0x42d453
mov eax, dword [edi + 0x14]
movzx eax, word [eax + esi*2 - 2]
cmp eax, 0x20
je 0x42d440
cmp eax, 9
je 0x42d440
cmp ax, word [ebp - 0x60]
je 0x42d440
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x2c
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x3b
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x28
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x29
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x7b
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x7d
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x5b
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x5d
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x7c
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0xa
je 0x42d43d
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0xd
je 0x42d43d
mov eax, dword [edi + 0x14]
movzx eax, word [eax + esi*2]
cmp eax, 0x20
je 0x42d497
cmp eax, 9
je 0x42d497
cmp ax, word [ebp - 0x60]
je 0x42d497
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x2c
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x3b
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x28
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x29
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x7b
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x7d
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x5b
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x5d
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0x7c
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0xa
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
cmp eax, 0xd
je 0x42d4a0
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
mov dh, byte [ebp - 0x3d]
xor eax, eax
test eax, eax
jne 0x42d453
mov al, byte [ebp - 0x3e]
inc esi
cmp esi, dword [edi + 4]
jl 0x42d250
mov eax, dword [edi + 4]
cmp esi, eax
cmovg esi, eax
mov eax, dword [edi + 4]
mov dword [edi + 0x3c], esi
mov edx, esi
mov dword [edi + 0x44], esi
mov ecx, dword [edi + 0x40]
cmp ecx, edx
je 0x42d486
cmp ecx, eax
jle 0x42d476
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x42d47f
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x42d486
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x42d5d9
mov dword [edi + 0x3c], eax
jmp 0x42d5d9
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], cl
mov dh, byte [ebp - 0x3d]
mov eax, 1
jmp 0x42d442
push 0x200004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042b7e0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x600005
call fcn.0042b7e0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x600001
call fcn.0042b7e0
add esp, 4
mov byte [edi + 0xe6c], 0
jmp 0x42d5d9
cmp byte [edx + 0x3e0], 0
je 0x42d55b
cmp byte [edi + 0xe6d], 0
jne 0x42d55b
test al, al
je 0x42d5e9
cmp byte [edi + 0x53], 0
je 0x42d542
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.0042b090
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042b400
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
jmp 0x42d5d9
cmp byte [edx + 0xec], 0
je 0x42d5e9
cmp byte [edi + 0xe6d], 0
jne 0x42d5f2
movss xmm0, dword [edx + 0x370]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x42d59a
movss xmm0, dword [edx + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x42d5e9
cmp byte [edi + 0x53], 0
je 0x42d5b4
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.0042b090
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42d5c2
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042b400
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe6c], 1
mov edx, dword [ebp - 0x48]
mov cl, byte [ebp - 0x41]
mov dword [edi + 0xe68], 0xbe99999a
cmp byte [edi + 0xe6d], 0
je 0x42d602
cmp byte [edx + 0xec], 0
jne 0x42d602
mov byte [edi + 0xe6d], 0
cmp byte [edx + 0xfc], 0
je 0x42d614
cmp byte [edx + 0xfe], 0
je 0x42d621
test cl, cl
je 0x42d625
cmp byte [edx + 0xff], 0
je 0x42d625
mov al, 1
jmp 0x42d627
xor al, al
cmp dword [edx + 0x151c], 0
jle 0x42d711
test al, al
jne 0x42d6e0
cmp byte [ebp - 0x42], al
jne 0x42d6e0
xor esi, esi
nop word [eax + eax]
mov eax, dword [edx + 0x1524]
movzx ecx, word [eax + esi*2]
cmp ecx, 9
jne 0x42d668
cmp byte [edx + 0xfd], 0
jne 0x42d6d3
cmp ecx, 0x20
jb 0x42d6d3
cmp ecx, 0x7f
je 0x42d6d3
lea eax, [ecx - 0xe000]
cmp eax, 0x18ff
jbe 0x42d6d3
cmp ecx, 0x20
je 0x42d6c1
cmp ecx, 9
je 0x42d6c1
cmp ecx, 0x3000
je 0x42d6c1
push ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042b7e0
mov al, byte [ebp - 0x3d]
add esp, 4
mov cl, byte [ebp - 0x3f]
mov edx, dword [ebp - 0x48]
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov byte [ebp - 0x3d], al
mov byte [ebp - 0x3f], cl
jmp 0x42d6cd
mov al, byte [ebp - 0x3d]
mov byte [ebp - 0x3d], al
mov al, byte [ebp - 0x3f]
mov byte [ebp - 0x3f], al
mov al, byte [ebp - 0x3e]
mov byte [ebp - 0x3e], al
inc esi
cmp esi, dword [edx + 0x151c]
jl 0x42d650
mov ecx, dword [edx + 0x1520]
lea esi, [edx + 0x151c]
test ecx, ecx
jns 0x42d70b
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.00417440
mov edx, dword [ebp - 0x48]
mov dword [esi], 0
mov eax, dword [ebp - 0x58]
xor cl, cl
mov byte [ebp - 0x40], cl
cmp dword [edx + 0x1be0], eax
jne 0x42dd1d
cmp byte [edx + 0x1bec], cl
jne 0x42dd1d
cmp byte [ebp - 0x5c], cl
jne 0x42dd1d
movss xmm0, dword [ebp - 0x88]
mov ecx, 1
subss xmm0, dword [edx + 0x1568]
divss xmm0, dword [edx + 0x1944]
cvttss2si eax, xmm0
cmp eax, ecx
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x4c], ecx
mov ecx, 0x400000
cmp byte [edx + 0xfd], al
cmovne eax, ecx
mov dword [ebp - 0x54], eax
mov al, byte [edx + 0xb1]
mov byte [ebp - 0x81], al
test al, al
je 0x42d795
cmp dword [edx + 0x37c], 0xa
jne 0x42d795
mov byte [ebp - 0x43], 1
jmp 0x42d79d
mov byte [ebp - 0x43], 0
test al, al
je 0x42d7c2
cmp byte [edx + 0xff], 0
mov al, byte [edx + 0xfe]
mov byte [ebp - 0x41], al
je 0x42d7cf
cmp byte [edx + 0xfc], 0
jne 0x42d7cf
test al, al
jne 0x42d7cf
mov byte [ebp - 0x4e], 1
jmp 0x42d7d3
mov al, byte [edx + 0xfc]
mov byte [ebp - 0x41], al
mov byte [ebp - 0x43], 0
mov byte [ebp - 0x4e], 0
cmp byte [edx + 0xb1], 0
mov eax, dword [edx + 0x37c]
je 0x42d7e7
cmp eax, 8
jmp 0x42d7ea
cmp eax, 1
mov esi, dword [0x4386c0]
sete al
mov byte [ebp - 0x42], al
test al, al
je 0x42d821
mov ecx, dword [esi + 0x78]
test ecx, ecx
js 0x42d80d
call fcn.0040b6f0
test al, al
jne 0x42d811
mov al, byte [ebp - 0x42]
test al, al
je 0x42d821
mov ecx, dword [esi + 0x7c]
test ecx, ecx
js 0x42d821
call fcn.0040b6f0
test al, al
jne 0x42d83d
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x37c], 2
jne 0x42d843
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x42d843
call fcn.0040b6f0
test al, al
je 0x42d843
mov byte [ebp - 0x61], 1
jmp 0x42d847
mov byte [ebp - 0x61], 0
mov al, byte [ebp - 0x42]
test al, al
je 0x42d86a
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x42d86a
call fcn.0040b6f0
test al, al
je 0x42d867
mov byte [ebp - 0x7f], 1
jmp 0x42d872
mov al, byte [ebp - 0x42]
mov byte [ebp - 0x7f], 0
test al, al
je 0x42d885
mov ecx, dword [esi + 0x84]
test ecx, ecx
js 0x42d885
call fcn.0040b6f0
test al, al
jne 0x42d89e
cmp byte [ebp - 0x43], 0
je 0x42d8a4
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x42d8a4
call fcn.0040b6f0
test al, al
je 0x42d8a4
mov byte [ebp - 0x69], 1
jmp 0x42d8a8
mov byte [ebp - 0x69], 0
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x42d8b8
call fcn.0040b6f0
test al, al
jne 0x42d8c8
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x42d8ce
call fcn.0040b6f0
test al, al
je 0x42d8ce
mov byte [ebp - 0x43], 1
jmp 0x42d8d2
mov byte [ebp - 0x43], 0
mov edx, 1
xor ecx, ecx
call fcn.004130c0
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x42d8f6
mov ecx, dword [esi + 0x64]
test ecx, ecx
js 0x42d90c
call fcn.0040b6f0
test al, al
je 0x42d90c
mov edx, 1
lea ecx, [edx + 1]
call fcn.004130c0
comiss xmm0, xmm5
mov byte [ebp - 0x7d], 0
jbe 0x42d910
mov byte [ebp - 0x7d], 1
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x42d920
call fcn.0040b6f0
test al, al
jne 0x42d935
mov edx, 1
mov ecx, edx
call fcn.004130c0
comiss xmm0, xmm5
mov byte [ebp - 0x7e], 0
jbe 0x42d939
mov byte [ebp - 0x7e], 1
mov ecx, dword [esi + 0x38]
test ecx, ecx
js 0x42d97c
call fcn.0040b6f0
test al, al
je 0x42d97c
cmp byte [ebp - 0x4e], 0
je 0x42d956
mov ecx, 0x200004
jmp 0x42d967
mov ecx, 0x200000
mov eax, 0x20000c
cmp byte [ebp - 0x41], 0
cmovne ecx, eax
mov eax, dword [ebp - 0x54]
lea edx, [edi + 0x3c]
or eax, ecx
mov ecx, edi
push eax
call fcn.0042b7e0
jmp 0x42dcec
mov ecx, dword [esi + 0x3c]
test ecx, ecx
js 0x42d9a3
call fcn.0040b6f0
test al, al
je 0x42d9a3
cmp byte [ebp - 0x4e], 0
je 0x42d999
mov ecx, 0x200005
jmp 0x42d967
mov ecx, 0x200001
lea eax, [ecx + 0xc]
jmp 0x42d960
mov ecx, dword [esi + 0x50]
test ecx, ecx
js 0x42d9e0
call fcn.0040b6f0
test al, al
je 0x42d9e0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x54]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [edx + 0xfc], 0
lea edx, [edi + 0x3c]
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.0042b7e0
jmp 0x42dcec
mov ecx, dword [esi + 0x54]
test ecx, ecx
js 0x42da1d
call fcn.0040b6f0
test al, al
je 0x42da1d
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x54]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [edx + 0xfc], 0
lea edx, [edi + 0x3c]
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.0042b7e0
jmp 0x42dcec
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x42da45
call fcn.0040b6f0
test al, al
je 0x42da45
mov eax, dword [ebp - 0x54]
lea edx, [edi + 0x3c]
or eax, 0x200008
mov ecx, edi
push eax
call fcn.0042b7e0
jmp 0x42dcec
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x42dad0
call fcn.0040b6f0
test al, al
je 0x42dad0
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42dab8
cmp byte [ebp - 0x41], 0
je 0x42da6e
push 0x60000c
jmp 0x42da9a
cmp byte [ebp - 0x81], 0
je 0x42dab8
mov eax, dword [ebp - 0x48]
cmp byte [eax + 0xff], 0
je 0x42dab8
cmp byte [eax + 0xfe], 0
jne 0x42dab8
cmp byte [eax + 0xfc], 0
jne 0x42dab8
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042b7e0
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov eax, dword [ebp - 0x54]
lea edx, [edi + 0x3c]
or eax, 0x200009
mov ecx, edi
push eax
call fcn.0042b7e0
jmp 0x42dcec
cmp byte [ebp - 0x43], 0
je 0x42dae3
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x3e], 1
jmp 0x42dd00
cmp byte [ebp - 0x7d], 0
je 0x42daf6
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x3e], 1
jmp 0x42dd00
cmp byte [ebp - 0x7e], 0
je 0x42db06
mov cl, 1
mov byte [ebp - 0x5c], cl
jmp 0x42dd03
mov al, byte [ebp - 0x7f]
test al, al
jne 0x42dccd
cmp byte [ebp - 0x69], al
jne 0x42dccd
cmp byte [ebp - 0x42], al
je 0x42db48
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x42db48
call fcn.0040b6f0
test al, al
je 0x42db48
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x42dcf9
cmp byte [ebp - 0x61], 0
je 0x42dd00
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x42db7a
push dword [esi + 0xd8]
call eax
add esp, 4
mov dword [ebp - 0x60], eax
test eax, eax
je 0x42dd00
mov esi, dword [0x4386c0]
jmp 0x42db82
mov eax, 0x43131a
mov dword [ebp - 0x60], eax
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42db87
sub ecx, edx
test esi, esi
je 0x42db9a
inc dword [esi + 0x36c]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [ebp - 0x60]
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x70], ecx
add esp, 4
mov dword [ebp - 0x54], eax
cmp byte [esi], al
je 0x42dc2e
xor edi, edi
nop
push 0
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.00405f40
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x42dc22
cmp eax, 0x20
jb 0x42dc1d
cmp eax, 0xffff
ja 0x42dc1d
cmp eax, 0x20
je 0x42dc0b
cmp eax, 9
je 0x42dc0b
cmp eax, 0x3000
je 0x42dc0b
mov ecx, dword [ebp - 0x70]
mov word [ecx + edi*2], ax
inc edi
mov al, byte [ebp - 0x3d]
mov cl, byte [ebp - 0x3f]
mov byte [ebp - 0x3d], al
mov byte [ebp - 0x3f], cl
jmp 0x42dc17
mov al, byte [ebp - 0x3d]
mov byte [ebp - 0x3d], al
mov al, byte [ebp - 0x3f]
mov byte [ebp - 0x3f], al
mov al, byte [ebp - 0x3e]
mov byte [ebp - 0x3e], al
cmp byte [esi], 0
jne 0x42dbc0
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x54], edi
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x54]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x42dcae
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x42dc5e
cmp ecx, eax
jle 0x42dc4e
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x42dc57
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x42dc5e
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x42dc66
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042b750
push dword [ebp - 0x54]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [ebp - 0x70]
call fcn.0042b2b0
add esp, 8
test al, al
je 0x42dca4
push dword [ebp - 0x54]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push 0
call fcn.0042c630
mov eax, dword [ebp - 0x54]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov ecx, dword [ebp - 0x70]
mov byte [edi + 0xe6c], 1
test ecx, ecx
je 0x42dcc1
mov eax, dword [0x4386c0]
test eax, eax
je 0x42dcc1
dec dword [eax + 0x36c]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x42dd00
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.0042b7e0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov cl, byte [ebp - 0x40]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42dd15
cmp byte [ebp - 0x4d], 0
je 0x42dd15
mov al, 1
jmp 0x42dd17
xor al, al
or byte [ebp - 0x3d], al
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x54], 0
cmp dword [edx + 0x1be0], eax
jne 0x42e06f
test cl, cl
je 0x42df48
mov ecx, dword [edi + 0x2c]
mov eax, 0x4386e8
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42dd70
test dl, dl
je 0x42dd6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42dd70
add eax, 2
add ecx, 2
test dl, dl
jne 0x42dd50
xor eax, eax
jmp 0x42dd75
sbb eax, eax
or eax, 1
test eax, eax
je 0x42df3e
mov eax, dword [edi + 0x24]
xor edx, edx
mov ecx, dword [edi + 0x2c]
dec eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 4], edx
test eax, eax
jle 0x42dea3
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x78], eax
test edi, edi
je 0x42ddbf
cmp esi, edi
jae 0x42dde0
cmp byte [esi], 0
je 0x42dde0
push edi
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.00405f40
add esi, eax
add esp, 4
cmp dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x78]
je 0x42dde0
inc eax
jmp 0x42ddb4
mov edi, dword [ebp - 0x74]
lea edx, [eax + 1]
mov esi, dword [0x4386c0]
mov dword [ebp - 0x60], edx
test edx, edx
jle 0x42de2e
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
mov dword [ebp - 0x4c], eax
test eax, eax
jle 0x42de2e
test esi, esi
je 0x42de10
inc dword [esi + 0x36c]
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [ebp - 0x4c]
add esp, 4
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x70]
add ecx, esi
mov dword [ebp - 0x4c], ecx
lea ecx, [eax - 2]
mov dword [ebp - 0x94], edx
lea ecx, [ecx + edx*2]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x98], ecx
cmp eax, ecx
jae 0x42de9e
mov edi, dword [ebp - 0x4c]
nop dword [eax + eax]
test edi, edi
je 0x42de68
cmp esi, edi
jae 0x42de98
cmp byte [esi], 0
je 0x42de98
push edi
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.00405f40
mov ecx, dword [ebp - 0x4c]
add esi, eax
mov eax, dword [ebp - 0x78]
add esp, 4
test ecx, ecx
je 0x42de98
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x78], eax
cmp eax, dword [ebp - 0x98]
jb 0x42de60
mov edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov word [eax], cx
mov esi, dword [edi + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [ebp - 0x54], ecx
cmovle eax, ecx
lea ecx, [edi + 0x5c]
push eax
push esi
xor edx, edx
mov dword [ebp - 0x4c], eax
call fcn.0042c630
mov edx, eax
add esp, 8
test edx, edx
je 0x42dee0
xor ecx, ecx
test esi, esi
jle 0x42dee0
nop
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x42ded0
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.0042b250
mov esi, dword [ebp - 0x4c]
add esp, 4
test esi, esi
jle 0x42df14
push esi
push dword [ebp - 0x8c]
xor edx, edx
mov ecx, edi
call fcn.0042b2b0
add esp, 8
test al, al
je 0x42df14
mov dword [edi + 0x3c], esi
mov byte [edi + 0x52], 0
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x42df37
mov eax, dword [0x4386c0]
test eax, eax
je 0x42df2d
dec dword [eax + 0x36c]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x3e], 0
je 0x42e025
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x4c], esi
cmp esi, eax
jle 0x42df90
test eax, eax
je 0x42df76
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42df7e
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004173d0
lea ecx, [edi + 0x18]
mov edx, dword [ebp - 0x4c]
mov dword [ecx], esi
mov esi, dword [edi + 0x20]
add edx, esi
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x60], edx
lea eax, [edx - 1]
mov dword [ebp - 0x4c], eax
cmp esi, eax
jae 0x42dfe7
mov edi, eax
nop dword [eax]
movzx eax, word [ecx]
test ax, ax
je 0x42dfe4
add ecx, 2
mov dword [ebp - 0x4c], ecx
cmp eax, 0x80
jae 0x42dfca
mov byte [esi], al
inc esi
jmp 0x42dfe0
sub edx, esi
mov ecx, esi
push eax
dec edx
call fcn.004060a0
mov ecx, dword [ebp - 0x4c]
add esp, 4
mov edx, dword [ebp - 0x60]
add esi, eax
cmp esi, edi
jb 0x42dfb0
mov edi, dword [ebp - 0x74]
mov byte [esi], 0
mov ecx, 0x4386e8
mov esi, dword [edi + 0x20]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42e014
test dl, dl
je 0x42e010
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42e014
add eax, 2
add ecx, 2
test dl, dl
jne 0x42dff4
xor eax, eax
jmp 0x42e019
sbb eax, eax
or eax, 1
test eax, eax
je 0x42e025
mov eax, dword [edi + 8]
mov dword [ebp - 0x70], esi
jmp 0x42e028
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x70]
mov dword [edi + 0xe70], 0
test ecx, ecx
je 0x42e069
inc eax
mov esi, pe_nt_image_headers32
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x42e065
jbe 0x42e05e
lea eax, [esi - 1]
push eax
push ecx
push 0x4386e8
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [esi + 0x4386e7], 0
mov byte [ebp - 0x3f], 1
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x48]
cmp byte [ebp - 0x5c], 0
je 0x42e082
cmp dword [edx + 0x1be0], eax
jne 0x42e082
call fcn.00407690
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x3c]
push 1
call fcn.00406910
movss xmm1, dword [0x435ab8]
add esp, 4
mov ecx, 7
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call fcn.00406290
mov esi, dword [ebp - 0x48]
mov dl, 1
mov ecx, eax
movss xmm2, dword [esi + 0x156c]
call fcn.004067f0
movss xmm4, dword [ebp - 0x68]
add esp, 0x10
cmp byte [ebp - 0x80], 0
movaps xmm7, xmm4
movss xmm0, dword [ebp - 0x3c]
movss xmm5, dword [ebp - 0x38]
addss xmm7, xmm0
addss xmm0, dword [esi + 0x1564]
movaps xmm6, xmm5
addss xmm6, dword [ebp - 0x88]
movss dword [ebp - 0x60], xmm7
movss dword [ebp - 0x90], xmm0
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x1568]
movss dword [ebp - 0x54], xmm6
movss dword [ebp - 0x8c], xmm0
je 0x42e120
mov edx, dword [edi + 0x20]
jmp 0x42e125
mov edx, 0x4386e8
mov ch, byte [ebp - 0x4d]
mov cl, byte [ebp - 0x3d]
mov dword [ebp - 0x5c], edx
test ch, ch
jne 0x42e28e
test cl, cl
jne 0x42e28e
mov eax, dword [ebp - 0x58]
cmp dword [esi + 0x1be0], eax
jne 0x42e153
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0x5c]
add edx, ecx
jmp 0x42e169
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e158
sub ecx, edx
mov edx, dword [ebp - 0x5c]
add edx, ecx
mov ecx, dword [ebp - 0x5c]
mov eax, edx
sub eax, ecx
cmp eax, 0x200000
jge 0x42eb9f
movss xmm1, dword [0x435ab8]
xor ecx, ecx
call fcn.00406290
mov esi, dword [ebp - 0xb0]
mov ecx, eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov esi, dword [esi + 0x23c]
mov edi, dword [eax + 0x1940]
movss xmm2, dword [eax + 0x1944]
test ecx, 0xff000000
je 0x42eb9d
test edx, edx
jne 0x42e1d4
mov ecx, dword [ebp - 0x5c]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e1c0
mov eax, dword [ebp - 0x5c]
sub ecx, edx
lea edx, [eax + ecx]
mov ecx, dword [ebp - 0x4c]
jmp 0x42e1d7
mov eax, dword [ebp - 0x5c]
cmp eax, edx
je 0x42e286
test edi, edi
jne 0x42e1e9
mov eax, dword [esi + 0x2c]
mov edi, dword [eax + 8]
ucomiss xmm2, dword [0x435a40]
lahf
test ah, 0x44
jp 0x42e1fe
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movss xmm1, dword [ebp - 0x3c]
comiss xmm0, xmm1
movups xmmword [ebp - 0xa8], xmm0
jae 0x42e21b
movss dword [ebp - 0xa8], xmm1
movss xmm0, dword [ebp - 0xa4]
movss xmm5, dword [ebp - 0x38]
comiss xmm0, xmm5
jae 0x42e235
movss dword [ebp - 0xa4], xmm5
comiss xmm7, dword [ebp - 0xa0]
ja 0x42e246
movss dword [ebp - 0xa0], xmm7
movss xmm5, dword [ebp - 0x54]
comiss xmm5, dword [ebp - 0x9c]
ja 0x42e25c
movss dword [ebp - 0x9c], xmm5
push dword [ebp - 0x8c]
lea eax, [ebp - 0xa8]
push dword [ebp - 0x90]
push 1
push ecx
mov dword [esp], 0
push edx
push dword [ebp - 0x5c]
push eax
push ecx
push esi
mov ecx, edi
call fcn.00425df0
mov esi, dword [ebp - 0x48]
jmp 0x42eb9f
mov eax, dword [edi + 8]
xorps xmm3, xmm3
mov esi, dword [edi + 0x14]
add eax, edx
xor edx, edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x98], esi
xorps xmm0, xmm0
movss dword [ebp - 0x4c], xmm3
xorps xmm7, xmm7
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x78], 0xfffffc18
mov dword [ebp - 0x58], 0xfffffc18
test ch, ch
je 0x42e2ea
mov eax, dword [edi + 0x3c]
mov edx, 1
mov dword [ebp - 0x78], 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x88], eax
test cl, cl
je 0x42e30c
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov dword [ebp - 0x58], 0xffffffff
cmovl ecx, dword [edi + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov cl, byte [ebp - 0x3d]
mov ch, byte [ebp - 0x4d]
mov dword [ebp - 0x68], eax
mov edi, dword [ebp - 0x98]
xor eax, eax
mov dword [ebp - 0xac], eax
movzx edi, word [edi]
test di, di
mov edi, dword [ebp - 0x74]
je 0x42e389
mov edi, dword [ebp - 0x98]
movzx eax, word [edi]
xor edi, edi
cmp ax, 0xa
jne 0x42e366
inc edi
cmp dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0xac], edi
jne 0x42e353
cmp esi, dword [ebp - 0x88]
jb 0x42e353
dec edx
mov dword [ebp - 0x78], edi
test edx, edx
jle 0x42e380
cmp dword [ebp - 0x58], 0xffffffff
jne 0x42e366
cmp esi, dword [ebp - 0x68]
jb 0x42e366
dec edx
mov dword [ebp - 0x58], edi
test edx, edx
jle 0x42e380
movzx eax, word [esi + 2]
add esi, 2
mov edi, eax
mov dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0xac]
test ax, ax
jne 0x42e330
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x58]
inc eax
cmp dword [ebp - 0x78], 0xffffffff
mov esi, eax
cmovne esi, dword [ebp - 0x78]
cmp edx, 0xffffffff
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x88]
cmove edx, eax
mov dword [ebp - 0x58], edx
mov edx, esi
cmp esi, dword [edi + 0x14]
jbe 0x42e3d1
mov edi, dword [ebp - 0x98]
nop dword [eax]
cmp word [edx - 2], 0xa
je 0x42e3ce
add edx, 0xfffffffe
cmp edx, edi
ja 0x42e3c0
mov edi, dword [ebp - 0x74]
movaps xmm1, xmm0
mov eax, dword [0x4386c0]
movaps xmm3, xmm0
mov esi, dword [0x4386c0]
mov eax, dword [eax + 0x1940]
movss xmm2, dword [esi + 0x1944]
divss xmm2, dword [eax + 0x10]
cmp edx, dword [ebp - 0x88]
jae 0x42e446
mov edi, eax
nop
movzx eax, word [edx]
add edx, 2
mov esi, eax
cmp eax, 0xa
jne 0x42e416
maxss xmm1, xmm3
movaps xmm3, xmm0
jmp 0x42e43b
cmp esi, 0xd
je 0x42e43b
mov esi, eax
cmp esi, dword [edi]
jge 0x42e42b
mov eax, dword [edi + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x42e430
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
xorps xmm0, xmm0
cmp edx, dword [ebp - 0x88]
jb 0x42e400
mov edi, dword [ebp - 0x74]
cmp dword [ebp - 0x58], 0
maxss xmm3, xmm1
movd xmm0, dword [ebp - 0xac]
mov eax, dword [ebp - 0x48]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x98], xmm3
mulss xmm0, dword [eax + 0x1944]
movss dword [ebp - 0xac], xmm0
jl 0x42e527
mov eax, dword [ebp - 0x68]
mov edx, eax
mov esi, dword [edi + 0x14]
cmp eax, esi
jbe 0x42e494
cmp word [edx - 2], 0xa
je 0x42e494
add edx, 0xfffffffe
cmp edx, esi
ja 0x42e486
xorps xmm0, xmm0
mov esi, dword [0x4386c0]
xorps xmm1, xmm1
xorps xmm3, xmm3
mov eax, dword [esi + 0x1940]
movss xmm2, dword [esi + 0x1944]
divss xmm2, dword [eax + 0x10]
cmp edx, dword [ebp - 0x68]
jae 0x42e503
mov edi, eax
nop dword [eax]
movzx eax, word [edx]
add edx, 2
mov esi, eax
cmp eax, 0xa
jne 0x42e4d6
maxss xmm1, xmm3
movaps xmm3, xmm0
jmp 0x42e4fb
cmp esi, 0xd
je 0x42e4fb
mov esi, eax
cmp esi, dword [edi]
jge 0x42e4eb
mov eax, dword [edi + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x42e4f0
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
xorps xmm0, xmm0
cmp edx, dword [ebp - 0x68]
jb 0x42e4c0
mov edi, dword [ebp - 0x74]
movd xmm7, dword [ebp - 0x58]
maxss xmm3, xmm1
mov eax, dword [ebp - 0x48]
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x4c], xmm3
mulss xmm7, dword [eax + 0x1944]
movss xmm3, dword [ebp - 0x98]
test ch, ch
je 0x42e585
cmp byte [edi + 0xe6c], 0
je 0x42e585
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm4
comiss xmm2, xmm3
mulss xmm0, dword [0x435a6c]
movaps xmm1, xmm3
subss xmm4, dword [eax + 0x1564]
jbe 0x42e561
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x42e56e
subss xmm1, xmm4
comiss xmm1, xmm2
jb 0x42e57e
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
mov byte [edi + 0xe6c], 0
movss xmm4, dword [edi + 0x38]
movss dword [ebp - 0x68], xmm4
test cl, cl
je 0x42e7d7
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [edi + 0x14]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x4d], 0
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*2]
mov dword [ebp - 0x78], eax
je 0x42e5c6
movss xmm1, dword [0x435ab8]
jmp 0x42e5ce
movss xmm1, dword [0x435a84]
mov ecx, 0x2f
call fcn.00406290
movss xmm4, dword [ebp - 0x8c]
movss xmm5, dword [ebp - 0x4c]
addss xmm4, xmm7
addss xmm5, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x78]
xorps xmm7, xmm7
mov dword [ebp - 0x9c], eax
subss xmm4, xmm7
subss xmm5, dword [ebp - 0x68]
movss dword [ebp - 0x4c], xmm4
cmp esi, ecx
jae 0x42e816
movss xmm7, dword [ebp - 0x54]
mov edi, dword [ebp - 0x48]
nop dword [eax + eax]
movaps xmm0, xmm7
addss xmm0, dword [edi + 0x1944]
comiss xmm4, xmm0
ja 0x42e7c5
movss xmm6, dword [ebp - 0x38]
comiss xmm6, xmm4
jbe 0x42e65f
cmp esi, ecx
jae 0x42e7a3
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x42e7a3
cmp esi, ecx
jb 0x42e646
jmp 0x42e7c5
mov eax, dword [0x4386c0]
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x1940]
movss xmm2, dword [eax + 0x1944]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x42e6ca
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x42e6ba
cmp ecx, 0xd
je 0x42e6b1
cmp ecx, dword [edx]
jge 0x42e6a4
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x42e6a9
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0x78]
cmp esi, ecx
jb 0x42e684
jmp 0x42e6c7
mov ecx, dword [ebp - 0x78]
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x42e703
mov eax, dword [edi + 0x1940]
cmp dword [eax], 0x20
jle 0x42e6eb
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x42e6f0
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x435a80]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [0x435b58]
addss xmm1, xmm5
subss xmm2, dword [edi + 0x1944]
addss xmm5, dword [0x435a40]
movss xmm3, dword [ebp - 0x60]
movaps xmm0, xmm4
addss xmm0, dword [0x435ae0]
minss xmm1, xmm3
addss xmm2, xmm4
maxss xmm5, dword [ebp - 0x3c]
minss xmm0, xmm7
movss dword [ebp - 0x1c], xmm1
maxss xmm2, xmm6
movss dword [ebp - 0x24], xmm5
comiss xmm0, xmm6
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm0
jbe 0x42e7a3
comiss xmm7, xmm2
jbe 0x42e7a3
comiss xmm1, dword [ebp - 0x3c]
jbe 0x42e7a3
comiss xmm3, xmm5
jbe 0x42e7a3
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x23c]
call fcn.00421f50
movss xmm4, dword [ebp - 0x4c]
movss xmm7, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x78]
movss xmm5, dword [ebp - 0x90]
addss xmm4, dword [edi + 0x1944]
subss xmm5, dword [ebp - 0x68]
movss dword [ebp - 0x4c], xmm4
cmp esi, ecx
jb 0x42e620
movss xmm4, dword [ebp - 0x68]
movss xmm5, dword [ebp - 0x38]
movss xmm6, dword [ebp - 0x54]
mov edi, dword [ebp - 0x74]
xorps xmm7, xmm7
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x5c]
sub eax, ecx
cmp eax, 0x200000
jge 0x42e9f4
mov eax, dword [0x4386c0]
movups xmm1, xmmword [eax + 0x15f0]
comiss xmm7, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1528]
movups xmmword [ebp - 0x24], xmm1
jbe 0x42e827
xorps xmm0, xmm0
jmp 0x42e833
movss xmm4, dword [ebp - 0x68]
movss xmm5, dword [ebp - 0x38]
movss xmm6, dword [ebp - 0x54]
jmp 0x42e7da
movss xmm0, dword [0x435ab8]
minss xmm0, xmm1
movss xmm1, dword [0x435b28]
movss xmm3, dword [ebp - 0x20]
comiss xmm7, xmm3
mulss xmm0, xmm1
addss xmm0, dword [0x435a80]
cvttss2si ecx, xmm0
jbe 0x42e85a
xorps xmm0, xmm0
jmp 0x42e866
movss xmm0, dword [0x435ab8]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x1c]
mulss xmm0, xmm1
addss xmm0, dword [0x435a80]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x42e88a
xorps xmm0, xmm0
jmp 0x42e896
movss xmm0, dword [0x435ab8]
minss xmm0, xmm3
movss xmm3, dword [0x435a80]
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x42e8b9
xorps xmm0, xmm0
jmp 0x42e8c5
movss xmm0, dword [0x435ab8]
minss xmm0, xmm2
mov eax, dword [ebp - 0xb0]
mulss xmm0, xmm1
mov esi, dword [eax + 0x23c]
mov eax, dword [ebp - 0x48]
addss xmm0, xmm3
movss xmm2, dword [eax + 0x1944]
cvttss2si edx, xmm0
movss xmm0, dword [ebp - 0x90]
subss xmm0, xmm4
shl edx, 0x18
or edx, ecx
mov ecx, dword [eax + 0x1940]
mov dword [ebp - 0x4c], ecx
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x8c]
subss xmm0, xmm7
movss dword [ebp - 0x78], xmm0
test edx, 0xff000000
je 0x42e9f4
cmp dword [ebp - 0x70], 0
jne 0x42e950
mov ecx, dword [ebp - 0x5c]
lea eax, [ecx + 1]
mov dword [ebp - 0x9c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e936
sub ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x5c]
add ecx, eax
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x4c]
jmp 0x42e953
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x70]
je 0x42e9f4
test ecx, ecx
jne 0x42e966
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 8]
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x42e977
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movss xmm1, dword [ebp - 0x3c]
comiss xmm0, xmm1
movups xmmword [ebp - 0xa8], xmm0
jae 0x42e994
movss dword [ebp - 0xa8], xmm1
movss xmm0, dword [ebp - 0xa4]
comiss xmm0, xmm5
jae 0x42e9a9
movss dword [ebp - 0xa4], xmm5
movss xmm0, dword [ebp - 0x60]
comiss xmm0, dword [ebp - 0xa0]
ja 0x42e9bf
movss dword [ebp - 0xa0], xmm0
comiss xmm6, dword [ebp - 0x9c]
ja 0x42e9d0
movss dword [ebp - 0x9c], xmm6
push dword [ebp - 0x78]
lea eax, [ebp - 0xa8]
push dword [ebp - 0x7c]
push 1
push ecx
mov dword [esp], 0
push dword [ebp - 0x70]
push dword [ebp - 0x5c]
push eax
push edx
push esi
call fcn.00425df0
cmp byte [ebp - 0x4d], 0
mov esi, dword [ebp - 0x48]
je 0x42eb9f
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xb2], 0
je 0x42ea66
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x42ea66
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xa0], xmm0
fld qword [ebp - 0xa0]
fld qword [0x435ad8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x435aa4]
fstp qword [ebp - 0xa0]
movsd xmm1, qword [ebp - 0xa0]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x42ea66
xor cl, cl
jmp 0x42ea68
mov cl, 1
movss xmm0, dword [ebp - 0x98]
movss xmm1, dword [ebp - 0x8c]
movss xmm6, dword [0x435ab8]
addss xmm0, dword [ebp - 0x90]
addss xmm1, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0x68]
subss xmm1, dword [0x435a40]
cvttss2si eax, xmm0
movd xmm0, eax
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
movd xmm1, eax
movss dword [ebp - 0x9c], xmm0
movaps xmm4, xmm0
movss dword [ebp - 0x24], xmm0
addss xmm4, xmm6
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x1c], xmm4
movss dword [ebp - 0x4c], xmm1
movaps xmm2, xmm1
movaps xmm3, xmm1
subss xmm2, dword [esi + 0x1944]
subss xmm3, dword [0x435ad0]
addss xmm2, dword [0x435a80]
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x20], xmm2
test cl, cl
je 0x42eb7f
comiss xmm3, dword [ebp - 0x38]
jbe 0x42eb7f
movss xmm5, dword [ebp - 0x54]
comiss xmm5, xmm2
jbe 0x42eb7f
comiss xmm4, dword [ebp - 0x3c]
jbe 0x42eb7f
movss xmm2, dword [ebp - 0x60]
comiss xmm2, xmm0
jbe 0x42eb7f
sub esp, 8
movss dword [ebp - 0x90], xmm0
movaps xmm1, xmm6
movss dword [ebp - 0x8c], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00406290
add esp, 4
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x23c]
call fcn.00421d50
movss xmm0, dword [ebp - 0x9c]
movss xmm1, dword [ebp - 0x4c]
movss xmm6, dword [0x435ab8]
subss xmm1, dword [esi + 0x1944]
subss xmm0, xmm6
movss dword [esi + 0x2f4c], xmm1
movss dword [esi + 0x2f48], xmm0
jmp 0x42eb9f
mov esi, eax
call fcn.00410a20
movss xmm0, dword [ebp - 0xb4]
comiss xmm0, dword [0x435a40]
jbe 0x42ebfc
movss xmm0, dword [ebp - 0x34]
xor edx, edx
addss xmm0, dword [esi + 0x157c]
mov ecx, 0x43131a
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [esi + 0x1568]
movss dword [ebp - 0x8c], xmm0
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push 1
call fcn.004063f0
add esp, 0xc
cmp byte [ebp - 0x3f], 0
je 0x42ec18
mov ecx, dword [0x4386c0]
or dword [ecx + 0x1c50], 4
mov word [ecx + 0x1bf0], 0x101
mov al, byte [ebp - 0x3e]
jmp 0x42ec1f
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042f151
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret