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

Disassembly:
sub esp, 0xc0
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x84], 0xfffffffe
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xb4], 0x3f800000
mov dword [esp + 0xb8], 0x3f800000
call fcn.10131be0
movzx ebx, ax
cmp ebx, 0x400
ja 0x10147787
mov ecx, dword [esi + 0x54800]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
mov dword [esp + 0xc0], edx
mov edi, eax
mov dword [esp + 0xc8], edi
test ebx, ebx
je 0x10147786
push ebp
lea eax, [esp + 0xb4]
dec ebx
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0xcc], ebx
push eax
lea eax, [esp + 0x20]
mov ecx, esi
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0xe4]
call fcn.10161570
mov ecx, dword [esi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ebp, edx
mov ebx, eax
mov edx, dword [esp + 0x10]
cmp edx, 8
jbe 0x10145d01
mov eax, dword [esp + 0xc4]
xor ecx, ecx
add edx, ebx
adc ecx, ebp
shld eax, edi, 1
add edi, edi
cmp ecx, eax
jl 0x10145cfd
jg 0x10147759
cmp edx, edi
ja 0x10147759
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 0x83d6c]
mov edi, dword [esp + 0x18]
test ecx, ecx
je 0x10145d43
push dword [esi + 0x54800]
movsx eax, word [esi + 0x54860]
push eax
mov eax, dword [esp + 0x1c]
push edx
push edi
or eax, 0x20000
push eax
push dword [esi + 0x83d70]
call ecx
mov ecx, dword [esi + 0x54800]
add esp, 0x18
mov eax, dword [ecx]
push 0
push ebp
push ebx
call dword [eax + 0xc]
mov eax, dword [esp + 0x14]
cmp eax, 0x3eb
jne 0x10145d61
mov ecx, esi
call fcn.10131be0
mov word [esi + 0xb4], ax
jmp 0x10145f89
cmp eax, 0x3ec
jne 0x10145d7b
mov ecx, esi
call fcn.10131be0
mov word [esi + 0xb6], ax
jmp 0x10145f89
cmp eax, 0x3ed
jne 0x10145d95
mov ecx, esi
call fcn.10131be0
mov word [esi + 0xb8], ax
jmp 0x10145f89
cmp eax, 0x3ee
jne 0x10145daf
mov ecx, esi
call fcn.10131be0
mov word [esi + 0xba], ax
jmp 0x10145f89
cmp eax, 0x3ef
jne 0x10145dc9
mov ecx, esi
call fcn.10131be0
mov word [esi + 0xc4c], ax
jmp 0x10145f45
cmp eax, 0x3f0
jne 0x10145de3
mov ecx, esi
call fcn.10131be0
mov word [esi + 0xc4e], ax
jmp 0x10145fc5
cmp eax, 0x3f3
jne 0x10145dfd
push edi
mov ecx, esi
call fcn.10131ed0
fstp dword [esi + 0x2abe4]
jmp 0x10145f89
cmp eax, 0x3fc
jne 0x10145e30
mov ecx, esi
cmp edi, 3
jne 0x10145e1f
call fcn.10131be0
movzx eax, ax
mov dword [esp + 0x8c], eax
jmp 0x10145f89
call fcn.10131c40
mov dword [esp + 0x8c], eax
jmp 0x10145f89
cmp eax, 0x3fd
jne 0x10145ef6
mov ebx, dword [esp + 0x10]
cmp ebx, 0x48
jne 0x10145f8d
mov ecx, dword [esi + 0x54800]
push 1
push 0
push 0x28
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [esi + 0x24ff4]
mov ebx, 3
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x24]
push 2
mov word [esp + 0x28], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10145e99
movzx ecx, byte [esp + 0x25]
movzx eax, byte [esp + 0x24]
jmp 0x10145ea3
movzx ecx, byte [esp + 0x24]
movzx eax, byte [esp + 0x25]
movss xmm1, dword [0x103ef910]
shl cx, 8
or cx, ax
movzx eax, cx
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x102c6110]
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [edi], xmm0
add edi, 4
sub ebx, 1
jne 0x10145e64
mov edi, dword [esp + 0x18]
mov dword [esp + 0x8c], 0xfffffffe
jmp 0x10145f89
cmp eax, 0x406
jne 0x10145f1a
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x10145f8d
push edi
mov ecx, esi
call fcn.10131ed0
fstp dword [esi + 0x2abec]
jmp 0x10145f8d
cmp eax, 0x413
jne 0x10145f3a
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x10145f8d
push edi
mov ecx, esi
call fcn.10131ed0
fstp dword [esi + 0x2abf0]
jmp 0x10145f8d
cmp eax, 0x3ef
jne 0x10145fbe
mov ecx, str.EOS_D2000C
lea eax, [esi + 0x104]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10145f70
test dl, dl
je 0x10145f6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10145f70
add eax, 2
add ecx, 2
test dl, dl
jne 0x10145f50
xor eax, eax
jmp 0x10145f75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10145f89
mov ecx, esi
call fcn.10131be0
movzx eax, ax
mov dword [esi + 0x24f50], eax
mov ebx, dword [esp + 0x10]
mov ecx, dword [esi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ebp, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ebp
cmp eax, 0x848
jne 0x10146024
push edi
push 1
mov ecx, esi
call fcn.1012ad80
jmp 0x101463d2
cmp eax, 0x3f0
jne 0x10145f89
mov ecx, str.EOS_D2000C
lea eax, [esi + 0x104]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10145ff0
test dl, dl
je 0x10145fec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10145ff0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10145fd0
xor eax, eax
jmp 0x10145ff5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10145f89
mov ecx, esi
cmp dword [esi + 0x24f50], eax
je 0x10145f7b
call fcn.10131be0
mov ecx, dword [esi + 0x24f50]
movzx eax, ax
add ecx, eax
shr ecx, 1
mov dword [esi + 0x24f50], ecx
jmp 0x10145f89
cmp eax, 0x849
jne 0x1014603a
push edi
push 3
mov ecx, esi
call fcn.1012ad80
jmp 0x101463d2
cmp eax, 0x84a
jne 0x10146050
push edi
push 2
mov ecx, esi
call fcn.1012ad80
jmp 0x101463d2
cmp eax, 0x84b
jne 0x10146066
push edi
push 4
mov ecx, esi
call fcn.1012ad80
jmp 0x101463d2
cmp eax, 0x84c
jne 0x1014607c
push edi
push 0x53
mov ecx, esi
call fcn.1012ad80
jmp 0x101463d2
cmp eax, 0x84d
jne 0x10146092
push edi
push 0x52
mov ecx, esi
call fcn.1012ad80
jmp 0x101463d2
cmp eax, 0xe93
jne 0x10146102
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x28]
push 2
mov word [esp + 0x2c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x101460ce
movzx ecx, byte [esp + 0x29]
movzx eax, byte [esp + 0x28]
jmp 0x101460d8
movzx ecx, byte [esp + 0x28]
movzx eax, byte [esp + 0x29]
shl cx, 8
or cx, ax
movzx eax, cx
movzx eax, ax
mov dword [esi + 0x24f68], eax
mov dword [esi + 0x24f64], eax
mov dword [esi + 0x24f60], eax
mov dword [esi + 0x24f5c], eax
jmp 0x101463d2
cmp eax, 0x9ce
jne 0x1014613a
mov edi, 0x40
cmp ebx, edi
cmovb edi, ebx
lea ebx, [esi + 0xdb4]
mov ecx, dword [esi + 0x54800]
test edi, edi
je 0x101463d2
mov eax, dword [ecx]
push 1
push edi
push ebx
call dword [eax + 8]
mov byte [ebx + edi - 1], 0
jmp 0x101463d2
cmp eax, 0xfa00
jne 0x10146153
mov edi, 0x40
cmp ebx, edi
cmovb edi, ebx
lea ebx, [esi + 0xd74]
jmp 0x10146119
cmp eax, 0xfa27
jne 0x101461f3
lea edi, [esi + 0x293c0]
mov ebx, 3
mov ebp, 0x4949
nop
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x6c]
push 4
mov dword [esp + 0x70], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [esi + 0x54860], bp
jne 0x101461b5
movzx ecx, byte [esp + 0x6f]
movzx eax, byte [esp + 0x6e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x6d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x6c]
jmp 0x101461d3
movzx ecx, byte [esp + 0x6c]
movzx eax, byte [esp + 0x6d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x6e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x6f]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add edi, 4
sub ebx, 1
jne 0x10146170
mov eax, dword [esi + 0x293c4]
mov dword [esi + 0x293cc], eax
jmp 0x101463ce
cmp eax, 0xfa28
jne 0x10146293
lea edi, [esi + 0x293b0]
mov ebx, 3
mov ebp, 0x4949
nop
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x70]
push 4
mov dword [esp + 0x74], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [esi + 0x54860], bp
jne 0x10146255
movzx ecx, byte [esp + 0x73]
movzx eax, byte [esp + 0x72]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x71]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x70]
jmp 0x10146273
movzx ecx, byte [esp + 0x70]
movzx eax, byte [esp + 0x71]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x72]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x73]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add edi, 4
sub ebx, 1
jne 0x10146210
mov eax, dword [esi + 0x293b4]
mov dword [esi + 0x293bc], eax
jmp 0x101463ce
cmp eax, 0xfa29
jne 0x10146333
lea edi, [esi + 0x293a0]
mov ebx, 3
mov ebp, 0x4949
nop
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x44]
push 4
mov dword [esp + 0x48], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [esi + 0x54860], bp
jne 0x101462f5
movzx ecx, byte [esp + 0x47]
movzx eax, byte [esp + 0x46]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x45]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x44]
jmp 0x10146313
movzx ecx, byte [esp + 0x44]
movzx eax, byte [esp + 0x45]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x46]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x47]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add edi, 4
sub ebx, 1
jne 0x101462b0
mov eax, dword [esi + 0x293a4]
mov dword [esi + 0x293ac], eax
jmp 0x101463ce
cmp eax, 0xfa2a
jne 0x101463d2
lea edi, [esi + 0x29440]
mov ebx, 3
mov ebp, 0x4949
nop
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x48]
push 4
mov dword [esp + 0x4c], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [esi + 0x54860], bp
jne 0x10146395
movzx ecx, byte [esp + 0x4b]
movzx eax, byte [esp + 0x4a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x49]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x48]
jmp 0x101463b3
movzx ecx, byte [esp + 0x48]
movzx eax, byte [esp + 0x49]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x4a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x4b]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add edi, 4
sub ebx, 1
jne 0x10146350
mov eax, dword [esi + 0x29444]
mov dword [esi + 0x2944c], eax
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esi + 0x54800]
push 0
push dword [esp + 0x24]
mov eax, dword [ecx]
push ebp
call dword [eax + 0xc]
mov ebp, dword [esp + 0x14]
cmp ebp, 0x7e4
je 0x101463fc
cmp ebp, 0xfb01
jne 0x10146634
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp ecx, 9
jne 0x1014663c
cmp eax, 0xa
jne 0x10146438
lea edi, [esi + 0xc58]
mov ebx, ecx
nop word [eax + eax]
push 0xa
mov ecx, esi
call fcn.10131ed0
fstp dword [edi]
add edi, 4
sub ebx, 1
jne 0x10146420
jmp 0x10146626
cmp eax, 9
jne 0x1014663c
lea eax, [esp + 0x80]
mov dword [esp + 0x20], 3
lea edi, [esp + 0x90]
mov dword [esp + 0x1c], eax
nop dword [eax + eax]
xor ebx, ebx
lea ebp, [ebx + 3]
nop word [eax + eax]
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x4c]
push 4
mov dword [esp + 0x50], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x101464ba
movzx ecx, byte [esp + 0x4f]
movzx eax, byte [esp + 0x4e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x4d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x4c]
jmp 0x101464d8
movzx ecx, byte [esp + 0x4c]
movzx eax, byte [esp + 0x4d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x4e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x4f]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add ebx, ecx
add edi, 4
sub ebp, 1
jne 0x10146470
mov eax, dword [esp + 0x1c]
mov dword [eax], ebx
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x1c], eax
jne 0x10146460
mov edx, dword [esp + 0x80]
cmp edx, 0x1fff
jle 0x10146634
mov ecx, dword [esp + 0x84]
cmp ecx, 0x1fff
jle 0x10146634
mov eax, dword [esp + 0x88]
cmp eax, 0x1fff
jle 0x10146634
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, dword [esp + 0x90]
cvtsi2ss xmm1, edx
divss xmm0, xmm1
movss dword [esi + 0xc58], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x94]
divss xmm0, xmm1
movss dword [esi + 0xc5c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x98]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xc60], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x9c]
cvtsi2ss xmm1, ecx
divss xmm0, xmm1
movss dword [esi + 0xc64], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa0]
divss xmm0, xmm1
movss dword [esi + 0xc68], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa4]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xc6c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa8]
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [esi + 0xc70], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xac]
divss xmm0, xmm1
movss dword [esi + 0xc74], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xb0]
divss xmm0, xmm1
movss dword [esi + 0xc78], xmm0
lea eax, [esi + 0xc58]
mov ecx, esi
push eax
call fcn.1015d8e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
cmp ebp, 0x7e5
je 0x10146654
cmp ebp, 0xfb02
jne 0x1014687a
cmp ecx, 9
jne 0x1014687a
cmp eax, 0xa
jne 0x10146688
lea edi, [esi + 0xc7c]
mov ebx, ecx
nop word [eax + eax]
push 0xa
mov ecx, esi
call fcn.10131ed0
fstp dword [edi]
add edi, 4
sub ebx, 1
jne 0x10146670
jmp 0x1014687a
cmp eax, 9
jne 0x1014687a
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], 3
lea edi, [esp + 0x90]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
xor ebx, ebx
lea ebp, [ebx + 3]
nop word [eax + eax]
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x50]
push 4
mov dword [esp + 0x54], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x1014670a
movzx ecx, byte [esp + 0x53]
movzx eax, byte [esp + 0x52]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x51]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x50]
jmp 0x10146728
movzx ecx, byte [esp + 0x50]
movzx eax, byte [esp + 0x51]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x52]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x53]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add ebx, ecx
add edi, 4
sub ebp, 1
jne 0x101466c0
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
add eax, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
jne 0x101466b0
mov edx, dword [esp + 0x80]
cmp edx, 0x1fff
jle 0x10146876
mov ecx, dword [esp + 0x84]
cmp ecx, 0x1fff
jle 0x10146876
mov eax, dword [esp + 0x88]
cmp eax, 0x1fff
jle 0x10146876
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, dword [esp + 0x90]
cvtsi2ss xmm1, edx
divss xmm0, xmm1
movss dword [esi + 0xc7c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x94]
divss xmm0, xmm1
movss dword [esi + 0xc80], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x98]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xc84], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x9c]
cvtsi2ss xmm1, ecx
divss xmm0, xmm1
movss dword [esi + 0xc88], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa0]
divss xmm0, xmm1
movss dword [esi + 0xc8c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa4]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xc90], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa8]
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [esi + 0xc94], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xac]
divss xmm0, xmm1
movss dword [esi + 0xc98], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xb0]
divss xmm0, xmm1
movss dword [esi + 0xc9c], xmm0
mov ebp, dword [esp + 0x14]
cmp ebp, 0x7e6
je 0x1014688e
cmp ebp, 0xfb03
jne 0x10146aba
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp ecx, 9
jne 0x10146ac2
cmp eax, 0xa
jne 0x101468c8
lea edi, [esi + 0xca0]
mov ebx, ecx
nop dword [eax]
push 0xa
mov ecx, esi
call fcn.10131ed0
fstp dword [edi]
add edi, 4
sub ebx, 1
jne 0x101468b0
jmp 0x10146aba
cmp eax, 9
jne 0x10146ac2
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], 3
lea edi, [esp + 0x90]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
xor ebx, ebx
lea ebp, [ebx + 3]
nop word [eax + eax]
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x54]
push 4
mov dword [esp + 0x58], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x1014694a
movzx ecx, byte [esp + 0x57]
movzx eax, byte [esp + 0x56]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x55]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x54]
jmp 0x10146968
movzx ecx, byte [esp + 0x54]
movzx eax, byte [esp + 0x55]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x56]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x57]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add ebx, ecx
add edi, 4
sub ebp, 1
jne 0x10146900
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
add eax, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
jne 0x101468f0
mov edx, dword [esp + 0x80]
cmp edx, 0x1fff
jle 0x10146ab6
mov ecx, dword [esp + 0x84]
cmp ecx, 0x1fff
jle 0x10146ab6
mov eax, dword [esp + 0x88]
cmp eax, 0x1fff
jle 0x10146ab6
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, dword [esp + 0x90]
cvtsi2ss xmm1, edx
divss xmm0, xmm1
movss dword [esi + 0xca0], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x94]
divss xmm0, xmm1
movss dword [esi + 0xca4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x98]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xca8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x9c]
cvtsi2ss xmm1, ecx
divss xmm0, xmm1
movss dword [esi + 0xcac], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa0]
divss xmm0, xmm1
movss dword [esi + 0xcb0], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa4]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xcb4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa8]
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [esi + 0xcb8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xac]
divss xmm0, xmm1
movss dword [esi + 0xcbc], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xb0]
divss xmm0, xmm1
movss dword [esi + 0xcc0], xmm0
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp ebp, 0x7e7
je 0x10146ad6
cmp ebp, 0xfb04
jne 0x10146cfa
cmp ecx, 9
jne 0x10146cfa
cmp eax, 0xa
jne 0x10146b08
lea edi, [esi + 0xcc4]
mov ebx, ecx
nop dword [eax]
push 0xa
mov ecx, esi
call fcn.10131ed0
fstp dword [edi]
add edi, 4
sub ebx, 1
jne 0x10146af0
jmp 0x10146cfa
cmp eax, 9
jne 0x10146cfa
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], 3
lea edi, [esp + 0x90]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
xor ebx, ebx
lea ebp, [ebx + 3]
nop word [eax + eax]
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x58]
push 4
mov dword [esp + 0x5c], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10146b8a
movzx ecx, byte [esp + 0x5b]
movzx eax, byte [esp + 0x5a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x59]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x58]
jmp 0x10146ba8
movzx ecx, byte [esp + 0x58]
movzx eax, byte [esp + 0x59]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5b]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add ebx, ecx
add edi, 4
sub ebp, 1
jne 0x10146b40
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
add eax, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
jne 0x10146b30
mov edx, dword [esp + 0x80]
cmp edx, 0x1fff
jle 0x10146cf6
mov ecx, dword [esp + 0x84]
cmp ecx, 0x1fff
jle 0x10146cf6
mov eax, dword [esp + 0x88]
cmp eax, 0x1fff
jle 0x10146cf6
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, dword [esp + 0x90]
cvtsi2ss xmm1, edx
divss xmm0, xmm1
movss dword [esi + 0xcc4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x94]
divss xmm0, xmm1
movss dword [esi + 0xcc8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x98]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xccc], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x9c]
cvtsi2ss xmm1, ecx
divss xmm0, xmm1
movss dword [esi + 0xcd0], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa0]
divss xmm0, xmm1
movss dword [esi + 0xcd4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa4]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xcd8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa8]
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [esi + 0xcdc], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xac]
divss xmm0, xmm1
movss dword [esi + 0xce0], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xb0]
divss xmm0, xmm1
movss dword [esi + 0xce4], xmm0
mov ebp, dword [esp + 0x14]
cmp ebp, 0x7e8
je 0x10146d0e
cmp ebp, 0xfb05
jne 0x10146f3a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp ecx, 9
jne 0x10146f42
cmp eax, 0xa
jne 0x10146d48
lea edi, [esi + 0xce8]
mov ebx, ecx
nop dword [eax]
push 0xa
mov ecx, esi
call fcn.10131ed0
fstp dword [edi]
add edi, 4
sub ebx, 1
jne 0x10146d30
jmp 0x10146f3a
cmp eax, 9
jne 0x10146f42
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], 3
lea edi, [esp + 0x90]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
xor ebx, ebx
lea ebp, [ebx + 3]
nop word [eax + eax]
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x5c]
push 4
mov dword [esp + 0x60], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10146dca
movzx ecx, byte [esp + 0x5f]
movzx eax, byte [esp + 0x5e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5c]
jmp 0x10146de8
movzx ecx, byte [esp + 0x5c]
movzx eax, byte [esp + 0x5d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5f]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add ebx, ecx
add edi, 4
sub ebp, 1
jne 0x10146d80
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
add eax, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
jne 0x10146d70
mov edx, dword [esp + 0x80]
cmp edx, 0x1fff
jle 0x10146f36
mov ecx, dword [esp + 0x84]
cmp ecx, 0x1fff
jle 0x10146f36
mov eax, dword [esp + 0x88]
cmp eax, 0x1fff
jle 0x10146f36
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, dword [esp + 0x90]
cvtsi2ss xmm1, edx
divss xmm0, xmm1
movss dword [esi + 0xce8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x94]
divss xmm0, xmm1
movss dword [esi + 0xcec], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x98]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xcf0], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x9c]
cvtsi2ss xmm1, ecx
divss xmm0, xmm1
movss dword [esi + 0xcf4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa0]
divss xmm0, xmm1
movss dword [esi + 0xcf8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa4]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xcfc], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa8]
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [esi + 0xd00], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xac]
divss xmm0, xmm1
movss dword [esi + 0xd04], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xb0]
divss xmm0, xmm1
movss dword [esi + 0xd08], xmm0
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp ebp, 0x7e9
je 0x10146f56
cmp ebp, 0xfb06
jne 0x1014717a
cmp ecx, 9
jne 0x1014717a
cmp eax, 0xa
jne 0x10146f88
lea edi, [esi + 0xd0c]
mov ebx, ecx
nop dword [eax]
push 0xa
mov ecx, esi
call fcn.10131ed0
fstp dword [edi]
add edi, 4
sub ebx, 1
jne 0x10146f70
jmp 0x1014717a
cmp eax, 9
jne 0x1014717a
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], 3
lea edi, [esp + 0x90]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
xor ebx, ebx
lea ebp, [ebx + 3]
nop word [eax + eax]
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x60]
push 4
mov dword [esp + 0x64], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x1014700a
movzx ecx, byte [esp + 0x63]
movzx eax, byte [esp + 0x62]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x61]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x60]
jmp 0x10147028
movzx ecx, byte [esp + 0x60]
movzx eax, byte [esp + 0x61]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x62]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x63]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
add ebx, ecx
add edi, 4
sub ebp, 1
jne 0x10146fc0
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
add eax, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
jne 0x10146fb0
mov edx, dword [esp + 0x80]
cmp edx, 0x1fff
jle 0x10147176
mov ecx, dword [esp + 0x84]
cmp ecx, 0x1fff
jle 0x10147176
mov eax, dword [esp + 0x88]
cmp eax, 0x1fff
jle 0x10147176
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, dword [esp + 0x90]
cvtsi2ss xmm1, edx
divss xmm0, xmm1
movss dword [esi + 0xd0c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x94]
divss xmm0, xmm1
movss dword [esi + 0xd10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x98]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xd14], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x9c]
cvtsi2ss xmm1, ecx
divss xmm0, xmm1
movss dword [esi + 0xd18], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa0]
divss xmm0, xmm1
movss dword [esi + 0xd1c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa4]
divss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi + 0xd20], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa8]
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [esi + 0xd24], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xac]
divss xmm0, xmm1
movss dword [esi + 0xd28], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xb0]
divss xmm0, xmm1
movss dword [esi + 0xd2c], xmm0
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x8c]
lea eax, [edi + 0x848]
cmp ebp, eax
je 0x101471a2
mov eax, dword [esp + 0x14]
test edi, edi
jns 0x10147227
cmp eax, 0x84d
jne 0x10147227
mov ebp, dword [esp + 0x18]
xor edi, edi
push ebp
mov ecx, esi
call fcn.10131ed0
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x101471ce
movss xmm0, dword [0x103ef910]
movss dword [esp + edi*4 + 0xb8], xmm0
inc edi
cmp edi, 3
jl 0x101471a8
movss xmm1, dword [esp + 0xbc]
movaps xmm0, xmm1
mov eax, dword [esp + 0x14]
divss xmm0, dword [esp + 0xb8]
mov edi, dword [esp + 0x8c]
movss dword [esi + 0x24ff4], xmm0
movaps xmm0, xmm1
divss xmm0, xmm1
divss xmm1, dword [esp + 0xc0]
movss dword [esi + 0x24ff8], xmm0
movss dword [esi + 0x24ffc], xmm1
jmp 0x1014722b
mov ebp, dword [esp + 0x18]
cmp eax, 0x90d
jne 0x1014723f
push dword [esp + 0x10]
mov ecx, esi
call fcn.1013c190
jmp 0x10147271
cmp eax, 0x903
jne 0x10147256
push ebp
mov ecx, esi
call fcn.10131ed0
fstp dword [esi + 0x2a8d8]
jmp 0x10147271
cmp eax, 0xfa0d
jne 0x10147275
mov ecx, dword [esi + 0x54800]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov edi, eax
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0x14]
cmp edi, 7
jae 0x10147334
cmp eax, dword [edi*4 + 0x102b4928]
jne 0x10147334
lea edi, [esi + 0x24ff4]
mov ebx, 3
mov ebp, 0x4949
nop dword [eax + eax]
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x64]
push 4
mov dword [esp + 0x68], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [esi + 0x54860], bp
jne 0x101472e5
movzx ecx, byte [esp + 0x67]
movzx eax, byte [esp + 0x66]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x65]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x64]
jmp 0x10147303
movzx ecx, byte [esp + 0x64]
movzx eax, byte [esp + 0x65]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x66]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x67]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
movss dword [edi], xmm0
add edi, 4
sub ebx, 1
jne 0x101472a0
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp eax, 0xfa13
jne 0x10147431
mov ecx, dword [esi + 0x54800]
cmp ebp, 3
jne 0x101473b5
push 2
mov word [esp + 0x30], 0xffff
lea edx, [esp + 0x30]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10147395
movzx ecx, byte [esp + 0x2d]
movzx eax, byte [esp + 0x2c]
shl cx, 8
or cx, ax
movzx eax, cx
movzx ecx, ax
mov word [esi + 0x16], cx
jmp 0x10147759
movzx ecx, byte [esp + 0x2c]
movzx eax, byte [esp + 0x2d]
shl cx, 8
or cx, ax
movzx eax, cx
movzx ecx, ax
mov word [esi + 0x16], cx
jmp 0x10147759
push 4
mov dword [esp + 0x6c], 0xffffffff
lea edx, [esp + 0x6c]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10147405
movzx ecx, byte [esp + 0x6b]
movzx eax, byte [esp + 0x6a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x69]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x68]
shl ecx, 8
or ecx, eax
mov word [esi + 0x16], cx
jmp 0x10147759
movzx ecx, byte [esp + 0x68]
movzx eax, byte [esp + 0x69]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x6a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x6b]
shl ecx, 8
or ecx, eax
mov word [esi + 0x16], cx
jmp 0x10147759
cmp eax, 0xfa14
jne 0x1014750e
mov ecx, dword [esi + 0x54800]
cmp ebp, 3
jne 0x101474be
push 2
mov word [esp + 0x34], 0xffff
lea edx, [esp + 0x34]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10147496
movzx ecx, byte [esp + 0x31]
movzx eax, byte [esp + 0x30]
shl cx, 8
or cx, ax
movzx eax, cx
movzx ecx, ax
lea eax, [ecx + 1]
and eax, 0xfffe
mov word [esi + 0x14], ax
jmp 0x10147759
movzx ecx, byte [esp + 0x30]
movzx eax, byte [esp + 0x31]
shl cx, 8
or cx, ax
movzx eax, cx
movzx ecx, ax
lea eax, [ecx + 1]
and eax, 0xfffe
mov word [esi + 0x14], ax
jmp 0x10147759
push 4
mov dword [esp + 0x7c], 0xffffffff
lea edx, [esp + 0x7c]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x101474ee
movzx ecx, byte [esp + 0x79]
movzx eax, byte [esp + 0x78]
jmp 0x101474f8
movzx ecx, byte [esp + 0x7a]
movzx eax, byte [esp + 0x7b]
shl ecx, 8
or ecx, eax
lea eax, [ecx + 1]
and eax, 0xfffe
mov word [esi + 0x14], ax
jmp 0x10147759
cmp eax, 0xfa18
jne 0x10147581
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x7c]
push 4
mov dword [esp + 0x80], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10147552
movzx ecx, byte [esp + 0x7d]
movzx eax, byte [esp + 0x7c]
jmp 0x1014755c
movzx ecx, byte [esp + 0x7e]
movzx eax, byte [esp + 0x7f]
shl ecx, 8
or ecx, eax
movzx eax, cx
mov word [esi + 0xc50], ax
cmp ebp, 8
je 0x10147759
inc eax
mov word [esi + 0xc50], ax
jmp 0x10147759
cmp eax, 0xfa19
jne 0x101475f1
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x74]
push 4
mov dword [esp + 0x78], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x101475c2
movzx ecx, byte [esp + 0x75]
movzx eax, byte [esp + 0x74]
jmp 0x101475cc
movzx ecx, byte [esp + 0x76]
movzx eax, byte [esp + 0x77]
shl ecx, 8
or ecx, eax
movzx eax, cx
mov word [esi + 0xc52], ax
cmp ebp, 8
je 0x10147759
inc eax
mov word [esi + 0xc52], ax
jmp 0x10147759
cmp eax, 0xfa31
jne 0x1014764d
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x34]
push 2
mov word [esp + 0x38], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x1014762d
movzx ecx, byte [esp + 0x35]
movzx eax, byte [esp + 0x34]
jmp 0x10147637
movzx ecx, byte [esp + 0x34]
movzx eax, byte [esp + 0x35]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [esi + 0xb8], ax
jmp 0x10147759
cmp eax, 0xfa32
jne 0x101476a9
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x38]
push 2
mov word [esp + 0x3c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x10147689
movzx ecx, byte [esp + 0x39]
movzx eax, byte [esp + 0x38]
jmp 0x10147693
movzx ecx, byte [esp + 0x38]
movzx eax, byte [esp + 0x39]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [esi + 0xba], ax
jmp 0x10147759
cmp eax, 0xfa3e
jne 0x10147702
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x3c]
push 2
mov word [esp + 0x40], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x101476e5
movzx ecx, byte [esp + 0x3d]
movzx eax, byte [esp + 0x3c]
jmp 0x101476ef
movzx ecx, byte [esp + 0x3c]
movzx eax, byte [esp + 0x3d]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [esi + 0xb4], ax
jmp 0x10147759
cmp eax, 0xfa3f
jne 0x10147759
mov ecx, dword [esi + 0x54800]
lea edx, [esp + 0x40]
push 2
mov word [esp + 0x44], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [esi + 0x54860], ax
jne 0x1014773e
movzx ecx, byte [esp + 0x41]
movzx eax, byte [esp + 0x40]
jmp 0x10147748
movzx ecx, byte [esp + 0x40]
movzx eax, byte [esp + 0x41]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [esi + 0xb6], ax
mov ecx, dword [esi + 0x54800]
push 0
push 0
push dword [esp + 0xbc]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xcc]
test ebx, ebx
jne 0x10145c91
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc0
ret 4