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

Disassembly:
sub esp, 0xe0
push ebx
mov ebx, ecx
mov word [esp + 0xc], 0xffff
push ebp
push 2
push 1
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0xac], 0xfffffffe
mov dword [esp + 0xd8], 0x3f800000
mov eax, dword [ecx]
mov dword [esp + 0xdc], 0x3f800000
mov dword [esp + 0xe0], 0x3f800000
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x101558ab
movzx ebp, byte [esp + 0x11]
movzx eax, byte [esp + 0x10]
jmp 0x101558b5
movzx ebp, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
shl ebp, 8
or ebp, eax
cmp ebp, 0x400
ja 0x1015775f
mov ecx, dword [ebx + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xdc], edx
test ebp, ebp
je 0x1015775f
push esi
push edi
nop dword [eax + eax]
lea eax, [esp + 0xd0]
dec ebp
push eax
lea eax, [esp + 0xe4]
mov dword [esp + 0xec], ebp
push eax
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x104]
call fcn.1014c820
mov ecx, dword [ebx + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov esi, edx
mov ebp, eax
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edx
cmp edx, 8
jbe 0x10155977
mov eax, dword [esp + 0xe4]
xor ecx, ecx
mov edi, edx
add edi, ebp
adc ecx, esi
mov esi, dword [esp + 0xec]
shld eax, esi, 1
add esi, esi
cmp ecx, eax
jl 0x10155973
jg 0x10157738
cmp edi, esi
ja 0x10157738
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 0x83d6c]
mov edi, dword [esp + 0x14]
test ecx, ecx
je 0x101559bd
push dword [ebx + 0x54800]
movsx eax, word [ebx + 0x54860]
push eax
mov eax, dword [esp + 0x18]
push edx
push edi
or eax, 0x20000
push eax
push dword [ebx + 0x83d70]
call ecx
mov ecx, dword [ebx + 0x54800]
add esp, 0x18
mov eax, dword [ecx]
push 0
push esi
push ebp
call dword [eax + 0xc]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp eax, 0x3eb
jne 0x10155a1d
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x18]
push 2
mov word [esp + 0x1c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov esi, 0x4949
cmp word [ebx + 0x54860], si
jne 0x101559fd
movzx ecx, byte [esp + 0x19]
movzx eax, byte [esp + 0x18]
jmp 0x10155a07
movzx ecx, byte [esp + 0x18]
movzx eax, byte [esp + 0x19]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xb4], ax
jmp 0x10155e32
cmp eax, 0x3ec
jne 0x10155a79
mov ecx, dword [ebx + 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 esi, 0x4949
cmp word [ebx + 0x54860], si
jne 0x10155a59
movzx ecx, byte [esp + 0x29]
movzx eax, byte [esp + 0x28]
jmp 0x10155a63
movzx ecx, byte [esp + 0x28]
movzx eax, byte [esp + 0x29]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xb6], ax
jmp 0x10155e32
cmp eax, 0x3ed
jne 0x10155ad5
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x2c]
push 2
mov word [esp + 0x30], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov esi, 0x4949
cmp word [ebx + 0x54860], si
jne 0x10155ab5
movzx ecx, byte [esp + 0x2d]
movzx eax, byte [esp + 0x2c]
jmp 0x10155abf
movzx ecx, byte [esp + 0x2c]
movzx eax, byte [esp + 0x2d]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xb8], ax
jmp 0x10155e32
cmp eax, 0x3ee
jne 0x10155b31
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x30]
push 2
mov word [esp + 0x34], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov esi, 0x4949
cmp word [ebx + 0x54860], si
jne 0x10155b11
movzx ecx, byte [esp + 0x31]
movzx eax, byte [esp + 0x30]
jmp 0x10155b1b
movzx ecx, byte [esp + 0x30]
movzx eax, byte [esp + 0x31]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xba], ax
jmp 0x10155e32
cmp eax, 0x3ef
jne 0x10155c1c
mov ecx, dword [ebx + 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 esi, 0x4949
cmp word [ebx + 0x54860], si
jne 0x10155b71
movzx ecx, byte [esp + 0x35]
movzx eax, byte [esp + 0x34]
jmp 0x10155b7b
movzx ecx, byte [esp + 0x34]
movzx eax, byte [esp + 0x35]
shl cx, 8
or cx, ax
movzx eax, cx
mov ecx, str.EOS_D2000C
mov word [ebx + 0xc4c], ax
lea eax, [ebx + 0x104]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10155bb7
test dl, dl
je 0x10155bb3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10155bb7
add eax, 2
add ecx, 2
test dl, dl
jne 0x10155b97
xor eax, eax
jmp 0x10155bbc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10155e32
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x38]
push 2
mov word [esp + 0x3c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [ebx + 0x54860], si
jne 0x10155c02
movzx ecx, byte [esp + 0x39]
movzx eax, byte [esp + 0x38]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x24f50], ecx
jmp 0x10155e32
movzx ecx, byte [esp + 0x38]
movzx eax, byte [esp + 0x39]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x24f50], ecx
jmp 0x10155e32
cmp eax, 0x3f0
jne 0x10155ce9
mov ecx, dword [ebx + 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 esi, 0x4949
cmp word [ebx + 0x54860], si
jne 0x10155c5c
movzx ecx, byte [esp + 0x3d]
movzx eax, byte [esp + 0x3c]
jmp 0x10155c66
movzx ecx, byte [esp + 0x3c]
movzx eax, byte [esp + 0x3d]
shl cx, 8
or cx, ax
movzx eax, cx
mov ecx, str.EOS_D2000C
mov word [ebx + 0xc4e], ax
lea eax, [ebx + 0x104]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10155ca2
test dl, dl
je 0x10155c9e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10155ca2
add eax, 2
add ecx, 2
test dl, dl
jne 0x10155c82
xor eax, eax
jmp 0x10155ca7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10155e32
mov ecx, ebx
cmp dword [ebx + 0x24f50], eax
je 0x10155cd6
call fcn.1013c960
mov ecx, dword [ebx + 0x24f50]
movzx eax, ax
add ecx, eax
shr ecx, 1
mov dword [ebx + 0x24f50], ecx
jmp 0x10155e32
call fcn.1013c960
movzx eax, ax
mov dword [ebx + 0x24f50], eax
jmp 0x10155e32
cmp eax, 0x3f3
jne 0x10155d03
push edi
mov ecx, ebx
call fcn.1013ca50
fstp dword [ebx + 0x2abe4]
jmp 0x10155e2d
cmp eax, 0x3fc
jne 0x10155d36
mov ecx, ebx
cmp edi, 3
jne 0x10155d25
call fcn.1013c960
movzx esi, ax
mov dword [esp + 0xa8], esi
jmp 0x10155e2d
call fcn.10135240
mov dword [esp + 0xa8], eax
jmp 0x10155e2d
cmp eax, 0x3fd
jne 0x10155df7
cmp edx, 0x48
jne 0x10155e2d
mov ecx, dword [ebx + 0x54800]
push 1
push 0
push 0x28
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [ebx + 0x24ff4]
mov edi, 3
nop word [eax + eax]
mov ecx, dword [ebx + 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 [ebx + 0x54860], ax
jne 0x10155da5
movzx ecx, byte [esp + 0x41]
movzx eax, byte [esp + 0x40]
jmp 0x10155daf
movzx ecx, byte [esp + 0x40]
movzx eax, byte [esp + 0x41]
movss xmm1, dword [0x103f9378]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x102c7e18]
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esi], xmm0
add esi, 4
sub edi, 1
jne 0x10155d70
mov edi, dword [esp + 0x14]
mov dword [esp + 0xa8], 0xfffffffe
jmp 0x10155e2d
cmp eax, 0x406
jne 0x10155e13
cmp edx, 1
jne 0x10155e2d
push edi
mov ecx, ebx
call fcn.1013ca50
fstp dword [ebx + 0x2abec]
jmp 0x10155e2d
cmp eax, 0x413
jne 0x10155e2d
cmp edx, 1
jne 0x10155e2d
push edi
mov ecx, ebx
call fcn.1013ca50
fstp dword [ebx + 0x2abf0]
mov esi, 0x4949
mov ecx, dword [ebx + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ebp, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], ebp
cmp eax, 0x848
jne 0x10155e63
push edi
push 1
mov ecx, ebx
call fcn.101555e0
jmp 0x10156242
cmp eax, 0x849
jne 0x10155e79
push edi
push 3
mov ecx, ebx
call fcn.101555e0
jmp 0x10156242
cmp eax, 0x84a
jne 0x10155e8f
push edi
push 2
mov ecx, ebx
call fcn.101555e0
jmp 0x10156242
cmp eax, 0x84b
jne 0x10155ea5
push edi
push 4
mov ecx, ebx
call fcn.101555e0
jmp 0x10156242
cmp eax, 0x84c
jne 0x10155ebb
push edi
push 0x53
mov ecx, ebx
call fcn.101555e0
jmp 0x10156242
cmp eax, 0x84d
jne 0x10155ed1
push edi
push 0x52
mov ecx, ebx
call fcn.101555e0
jmp 0x10156242
cmp eax, 0xe93
jne 0x10155f34
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x44]
push 2
mov word [esp + 0x48], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [ebx + 0x54860], si
jne 0x10155f08
movzx ecx, byte [esp + 0x45]
movzx eax, byte [esp + 0x44]
jmp 0x10155f12
movzx ecx, byte [esp + 0x44]
movzx eax, byte [esp + 0x45]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x24f68], ecx
mov dword [ebx + 0x24f64], ecx
mov dword [ebx + 0x24f60], ecx
mov dword [ebx + 0x24f5c], ecx
jmp 0x10156242
cmp eax, 0x9ce
jne 0x10155f70
lea edi, [ebx + 0xdb4]
mov ecx, dword [ebx + 0x54800]
mov esi, 0x40
cmp dword [esp + 0x1c], esi
cmovb esi, dword [esp + 0x1c]
test esi, esi
je 0x10156242
mov eax, dword [ecx]
push 1
push esi
push edi
call dword [eax + 8]
mov byte [edi + esi - 1], 0
jmp 0x10156242
cmp eax, 0xfa00
jne 0x10155f7f
lea edi, [ebx + 0xd74]
jmp 0x10155f41
cmp eax, 0xfa27
jne 0x10156045
lea esi, [ebx + 0x293c0]
mov edi, 3
mov ebp, 0x4949
nop word [eax + eax]
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x94]
push 4
mov dword [esp + 0x98], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [ebx + 0x54860], bp
jne 0x10155ff7
movzx ecx, byte [esp + 0x97]
movzx eax, byte [esp + 0x96]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x95]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x94]
jmp 0x10156021
movzx ecx, byte [esp + 0x94]
movzx eax, byte [esp + 0x95]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x96]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x97]
shl ecx, 8
or ecx, eax
mov dword [esi], ecx
add esi, 4
sub edi, 1
jne 0x10155fa0
mov eax, dword [ebx + 0x293c4]
mov dword [ebx + 0x293cc], eax
jmp 0x1015623e
cmp eax, 0xfa28
jne 0x10156105
lea esi, [ebx + 0x293b0]
mov edi, 3
mov ebp, 0x4949
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x98]
push 4
mov dword [esp + 0x9c], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [ebx + 0x54860], bp
jne 0x101560b7
movzx ecx, byte [esp + 0x9b]
movzx eax, byte [esp + 0x9a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x99]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x98]
jmp 0x101560e1
movzx ecx, byte [esp + 0x98]
movzx eax, byte [esp + 0x99]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9b]
shl ecx, 8
or ecx, eax
mov dword [esi], ecx
add esi, 4
sub edi, 1
jne 0x10156060
mov eax, dword [ebx + 0x293b4]
mov dword [ebx + 0x293bc], eax
jmp 0x1015623e
cmp eax, 0xfa29
jne 0x101561a3
lea esi, [ebx + 0x293a0]
mov edi, 3
mov ebp, 0x4949
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x60]
push 4
mov dword [esp + 0x64], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [ebx + 0x54860], bp
jne 0x10156165
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 0x10156183
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 [esi], ecx
add esi, 4
sub edi, 1
jne 0x10156120
mov eax, dword [ebx + 0x293a4]
mov dword [ebx + 0x293ac], eax
jmp 0x1015623e
cmp eax, 0xfa2a
jne 0x10156242
lea esi, [ebx + 0x29440]
mov edi, 3
mov ebp, 0x4949
nop
mov ecx, dword [ebx + 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 [ebx + 0x54860], bp
jne 0x10156205
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 0x10156223
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
mov dword [esi], ecx
add esi, 4
sub edi, 1
jne 0x101561c0
mov eax, dword [ebx + 0x29444]
mov dword [ebx + 0x2944c], eax
mov ebp, dword [esp + 0x20]
mov ecx, dword [ebx + 0x54800]
push 0
push dword [esp + 0x28]
mov eax, dword [ecx]
push ebp
call dword [eax + 0xc]
mov ebp, dword [esp + 0x10]
cmp ebp, 0x7e4
je 0x1015626c
cmp ebp, 0xfb01
jne 0x101564a5
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, 9
jne 0x101564ad
cmp eax, 0xa
jne 0x101562a8
lea ebp, [ebx + 0xc58]
mov edi, ecx
mov esi, ebp
nop dword [eax]
push 0xa
mov ecx, ebx
call fcn.1013ca50
fstp dword [esi]
add esi, 4
sub edi, 1
jne 0x10156290
jmp 0x10156499
cmp eax, 9
jne 0x101564ad
lea eax, [esp + 0x9c]
mov dword [esp + 0x24], 3
lea esi, [esp + 0xac]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
xor edi, edi
mov dword [eax], 0
lea ebp, [edi + 3]
nop dword [eax + eax]
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x68]
push 4
mov dword [esp + 0x6c], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x1015632a
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]
jmp 0x10156348
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 dword [esi], ecx
add edi, ecx
add esi, 4
sub ebp, 1
jne 0x101562e0
mov eax, dword [esp + 0x20]
mov dword [eax], edi
add eax, 4
sub dword [esp + 0x24], 1
mov dword [esp + 0x20], eax
jne 0x101562d0
mov edx, dword [esp + 0x9c]
cmp edx, 0x1fff
jle 0x101564a1
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x1fff
jle 0x101564a1
mov eax, dword [esp + 0xa4]
cmp eax, 0x1fff
jle 0x101564a1
movd xmm0, dword [esp + 0xac]
lea ebp, [ebx + 0xc58]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebp], xmm0
movd xmm0, dword [esp + 0xb0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc5c], xmm0
movd xmm0, dword [esp + 0xb4]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, ecx
movss dword [ebx + 0xc60], xmm0
movd xmm0, dword [esp + 0xb8]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xc64], xmm0
movd xmm0, dword [esp + 0xbc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc68], xmm0
movd xmm0, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, eax
movss dword [ebx + 0xc6c], xmm0
movd xmm0, dword [esp + 0xc4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xc70], xmm0
movd xmm0, dword [esp + 0xc8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc74], xmm0
movd xmm0, dword [esp + 0xcc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc78], xmm0
push ebp
mov ecx, ebx
call fcn.1015d7d0
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
cmp ebp, 0x7e5
je 0x101564c1
cmp ebp, 0xfb02
jne 0x101566da
cmp ecx, 9
jne 0x101566da
cmp eax, 0xa
jne 0x101564ef
lea esi, [ebx + 0xc7c]
mov edi, ecx
push 0xa
mov ecx, ebx
call fcn.1013ca50
fstp dword [esi]
add esi, 4
sub edi, 1
jne 0x101564d7
jmp 0x101566da
cmp eax, 9
jne 0x101566da
lea eax, [esp + 0x9c]
mov dword [esp + 0x20], 3
lea esi, [esp + 0xac]
mov dword [esp + 0x24], eax
xor edi, edi
mov dword [eax], 0
lea ebp, [edi + 3]
nop dword [eax]
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x6c]
push 4
mov dword [esp + 0x70], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x1015656a
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 0x10156588
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 [esi], ecx
add edi, ecx
add esi, 4
sub ebp, 1
jne 0x10156520
mov eax, dword [esp + 0x24]
mov dword [eax], edi
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x24], eax
jne 0x10156512
mov edx, dword [esp + 0x9c]
cmp edx, 0x1fff
jle 0x101566d6
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x1fff
jle 0x101566d6
mov eax, dword [esp + 0xa4]
cmp eax, 0x1fff
jle 0x101566d6
movd xmm0, dword [esp + 0xac]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xc7c], xmm0
movd xmm0, dword [esp + 0xb0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc80], xmm0
movd xmm0, dword [esp + 0xb4]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, ecx
movss dword [ebx + 0xc84], xmm0
movd xmm0, dword [esp + 0xb8]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xc88], xmm0
movd xmm0, dword [esp + 0xbc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc8c], xmm0
movd xmm0, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, eax
movss dword [ebx + 0xc90], xmm0
movd xmm0, dword [esp + 0xc4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xc94], xmm0
movd xmm0, dword [esp + 0xc8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc98], xmm0
movd xmm0, dword [esp + 0xcc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xc9c], xmm0
mov ebp, dword [esp + 0x10]
cmp ebp, 0x7e6
je 0x101566ee
cmp ebp, 0xfb03
jne 0x1015691a
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, 9
jne 0x10156922
cmp eax, 0xa
jne 0x10156728
lea esi, [ebx + 0xca0]
mov edi, ecx
nop dword [eax]
push 0xa
mov ecx, ebx
call fcn.1013ca50
fstp dword [esi]
add esi, 4
sub edi, 1
jne 0x10156710
jmp 0x1015691a
cmp eax, 9
jne 0x10156922
lea eax, [esp + 0x9c]
mov dword [esp + 0x20], 3
lea esi, [esp + 0xac]
mov dword [esp + 0x24], eax
nop dword [eax + eax]
xor edi, edi
mov dword [eax], 0
lea ebp, [edi + 3]
nop dword [eax + eax]
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x70]
push 4
mov dword [esp + 0x74], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x101567aa
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 0x101567c8
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 [esi], ecx
add edi, ecx
add esi, 4
sub ebp, 1
jne 0x10156760
mov eax, dword [esp + 0x24]
mov dword [eax], edi
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x24], eax
jne 0x10156750
mov edx, dword [esp + 0x9c]
cmp edx, 0x1fff
jle 0x10156916
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x1fff
jle 0x10156916
mov eax, dword [esp + 0xa4]
cmp eax, 0x1fff
jle 0x10156916
movd xmm0, dword [esp + 0xac]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xca0], xmm0
movd xmm0, dword [esp + 0xb0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xca4], xmm0
movd xmm0, dword [esp + 0xb4]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, ecx
movss dword [ebx + 0xca8], xmm0
movd xmm0, dword [esp + 0xb8]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xcac], xmm0
movd xmm0, dword [esp + 0xbc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xcb0], xmm0
movd xmm0, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, eax
movss dword [ebx + 0xcb4], xmm0
movd xmm0, dword [esp + 0xc4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xcb8], xmm0
movd xmm0, dword [esp + 0xc8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xcbc], xmm0
movd xmm0, dword [esp + 0xcc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xcc0], xmm0
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ebp, 0x7e7
je 0x10156936
cmp ebp, 0xfb04
jne 0x10156b5a
cmp ecx, 9
jne 0x10156b5a
cmp eax, 0xa
jne 0x10156968
lea esi, [ebx + 0xcc4]
mov edi, ecx
nop dword [eax]
push 0xa
mov ecx, ebx
call fcn.1013ca50
fstp dword [esi]
add esi, 4
sub edi, 1
jne 0x10156950
jmp 0x10156b5a
cmp eax, 9
jne 0x10156b5a
lea eax, [esp + 0x9c]
mov dword [esp + 0x20], 3
lea esi, [esp + 0xac]
mov dword [esp + 0x24], eax
nop dword [eax + eax]
xor edi, edi
mov dword [eax], 0
lea ebp, [edi + 3]
nop dword [eax + eax]
mov ecx, dword [ebx + 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 [ebx + 0x54860], ax
jne 0x101569ea
movzx ecx, byte [esp + 0x77]
movzx eax, byte [esp + 0x76]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x75]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x74]
jmp 0x10156a08
movzx ecx, byte [esp + 0x74]
movzx eax, byte [esp + 0x75]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x76]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x77]
shl ecx, 8
or ecx, eax
mov dword [esi], ecx
add edi, ecx
add esi, 4
sub ebp, 1
jne 0x101569a0
mov eax, dword [esp + 0x24]
mov dword [eax], edi
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x24], eax
jne 0x10156990
mov edx, dword [esp + 0x9c]
cmp edx, 0x1fff
jle 0x10156b56
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x1fff
jle 0x10156b56
mov eax, dword [esp + 0xa4]
cmp eax, 0x1fff
jle 0x10156b56
movd xmm0, dword [esp + 0xac]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xcc4], xmm0
movd xmm0, dword [esp + 0xb0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xcc8], xmm0
movd xmm0, dword [esp + 0xb4]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, ecx
movss dword [ebx + 0xccc], xmm0
movd xmm0, dword [esp + 0xb8]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xcd0], xmm0
movd xmm0, dword [esp + 0xbc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xcd4], xmm0
movd xmm0, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, eax
movss dword [ebx + 0xcd8], xmm0
movd xmm0, dword [esp + 0xc4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xcdc], xmm0
movd xmm0, dword [esp + 0xc8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xce0], xmm0
movd xmm0, dword [esp + 0xcc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xce4], xmm0
mov ebp, dword [esp + 0x10]
cmp ebp, 0x7e8
je 0x10156b6e
cmp ebp, 0xfb05
jne 0x10156d9a
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, 9
jne 0x10156da2
cmp eax, 0xa
jne 0x10156ba8
lea esi, [ebx + 0xce8]
mov edi, ecx
nop dword [eax]
push 0xa
mov ecx, ebx
call fcn.1013ca50
fstp dword [esi]
add esi, 4
sub edi, 1
jne 0x10156b90
jmp 0x10156d9a
cmp eax, 9
jne 0x10156da2
lea eax, [esp + 0x9c]
mov dword [esp + 0x20], 3
lea esi, [esp + 0xac]
mov dword [esp + 0x24], eax
nop dword [eax + eax]
xor edi, edi
mov dword [eax], 0
lea ebp, [edi + 3]
nop dword [eax + eax]
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x78]
push 4
mov dword [esp + 0x7c], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x10156c2a
movzx ecx, byte [esp + 0x7b]
movzx eax, byte [esp + 0x7a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x79]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x78]
jmp 0x10156c48
movzx ecx, byte [esp + 0x78]
movzx eax, byte [esp + 0x79]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x7a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x7b]
shl ecx, 8
or ecx, eax
mov dword [esi], ecx
add edi, ecx
add esi, 4
sub ebp, 1
jne 0x10156be0
mov eax, dword [esp + 0x24]
mov dword [eax], edi
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x24], eax
jne 0x10156bd0
mov edx, dword [esp + 0x9c]
cmp edx, 0x1fff
jle 0x10156d96
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x1fff
jle 0x10156d96
mov eax, dword [esp + 0xa4]
cmp eax, 0x1fff
jle 0x10156d96
movd xmm0, dword [esp + 0xac]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xce8], xmm0
movd xmm0, dword [esp + 0xb0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xcec], xmm0
movd xmm0, dword [esp + 0xb4]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, ecx
movss dword [ebx + 0xcf0], xmm0
movd xmm0, dword [esp + 0xb8]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xcf4], xmm0
movd xmm0, dword [esp + 0xbc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xcf8], xmm0
movd xmm0, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, eax
movss dword [ebx + 0xcfc], xmm0
movd xmm0, dword [esp + 0xc4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xd00], xmm0
movd xmm0, dword [esp + 0xc8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xd04], xmm0
movd xmm0, dword [esp + 0xcc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xd08], xmm0
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ebp, 0x7e9
je 0x10156db6
cmp ebp, 0xfb06
jne 0x10156fdd
cmp ecx, 9
jne 0x10156fdd
cmp eax, 0xa
jne 0x10156de8
lea esi, [ebx + 0xd0c]
mov edi, ecx
nop dword [eax]
push 0xa
mov ecx, ebx
call fcn.1013ca50
fstp dword [esi]
add esi, 4
sub edi, 1
jne 0x10156dd0
jmp 0x10156fdd
cmp eax, 9
jne 0x10156fdd
lea eax, [esp + 0x9c]
mov dword [esp + 0x20], 3
lea esi, [esp + 0xac]
mov dword [esp + 0x24], eax
nop dword [eax + eax]
xor edi, edi
mov dword [eax], 0
lea ebp, [edi + 3]
nop dword [eax + eax]
mov ecx, dword [ebx + 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 [ebx + 0x54860], ax
jne 0x10156e6d
movzx ecx, byte [esp + 0x7f]
movzx eax, byte [esp + 0x7e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x7d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x7c]
jmp 0x10156e8b
movzx ecx, byte [esp + 0x7c]
movzx eax, byte [esp + 0x7d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x7e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x7f]
shl ecx, 8
or ecx, eax
mov dword [esi], ecx
add edi, ecx
add esi, 4
sub ebp, 1
jne 0x10156e20
mov eax, dword [esp + 0x24]
mov dword [eax], edi
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x24], eax
jne 0x10156e10
mov edx, dword [esp + 0x9c]
cmp edx, 0x1fff
jle 0x10156fd9
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x1fff
jle 0x10156fd9
mov eax, dword [esp + 0xa4]
cmp eax, 0x1fff
jle 0x10156fd9
movd xmm0, dword [esp + 0xac]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xd0c], xmm0
movd xmm0, dword [esp + 0xb0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xd10], xmm0
movd xmm0, dword [esp + 0xb4]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, ecx
movss dword [ebx + 0xd14], xmm0
movd xmm0, dword [esp + 0xb8]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xd18], xmm0
movd xmm0, dword [esp + 0xbc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xd1c], xmm0
movd xmm0, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movd xmm1, eax
movss dword [ebx + 0xd20], xmm0
movd xmm0, dword [esp + 0xc4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebx + 0xd24], xmm0
movd xmm0, dword [esp + 0xc8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xd28], xmm0
movd xmm0, dword [esp + 0xcc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx + 0xd2c], xmm0
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
lea eax, [ecx + 0x848]
cmp ebp, eax
je 0x10157005
mov eax, dword [esp + 0x10]
test ecx, ecx
jns 0x10157088
cmp eax, 0x84d
jne 0x10157088
mov ebp, dword [esp + 0x14]
xor esi, esi
nop dword [eax + eax]
push ebp
mov ecx, ebx
call fcn.1013ca50
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10157036
movss xmm0, dword [0x103f9378]
movss dword [esp + esi*4 + 0xd4], xmm0
inc esi
cmp esi, 3
jl 0x10157010
movss xmm1, dword [esp + 0xd8]
movaps xmm0, xmm1
mov eax, dword [esp + 0x10]
divss xmm0, dword [esp + 0xd4]
movss dword [ebx + 0x24ff4], xmm0
movaps xmm0, xmm1
divss xmm0, xmm1
divss xmm1, dword [esp + 0xdc]
movss dword [ebx + 0x24ff8], xmm0
movss dword [ebx + 0x24ffc], xmm1
jmp 0x1015708c
mov ebp, dword [esp + 0x14]
cmp eax, 0x90d
jne 0x1015715c
mov edi, dword [esp + 0x1c]
cmp edi, 0x10000
jbe 0x101570ae
mov edi, 0x10000
mov dword [esp + 0x1c], edi
jmp 0x101570b7
cmp edi, 1
jb 0x10157190
mov ecx, dword [ebx + 0x54800]
lea esi, [ebx + 0xf38]
push edi
push 2
push esi
mov eax, dword [ecx]
call dword [eax + 8]
cmp eax, edi
jae 0x101570d7
mov ecx, ebx
call fcn.10168da0
push 0x1234
call dword [sym.imp.WS2_32.dll_ntohs]
xor ecx, ecx
mov edx, 0x1234
cmp ax, dx
mov edx, 0x4949
sete cl
xor eax, eax
cmp word [ebx + 0x54860], dx
sete al
cmp eax, ecx
jne 0x10157112
lea eax, [edi + edi]
push eax
push esi
push esi
call fcn.10285439
add esp, 0xc
cmp edi, 0x10000
jge 0x1015713c
mov eax, dword [esp + 0x1c]
add edi, 0x79c
mov ecx, 0x10000
sub ecx, eax
lea esi, [eax + 0x79b]
lea edi, [ebx + edi*2]
lea esi, [ebx + esi*2]
rep movsw word es:[edi], word [esi]
mov edi, eax
mov eax, 0x2f36
cmp edi, 0x1000
jb 0x10157150
lea eax, [edi*2 + 0xf36]
movzx eax, word [eax + ebx]
mov dword [ebx + 0x24f58], eax
jmp 0x1015718c
cmp eax, 0x903
jne 0x10157173
push ebp
mov ecx, ebx
call fcn.1013ca50
fstp dword [ebx + 0x2a8d8]
jmp 0x1015718c
cmp eax, 0xfa0d
jne 0x10157190
mov ecx, dword [ebx + 0x54800]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
cmp ecx, 7
jae 0x10157272
cmp eax, dword [ecx*4 + 0x102b6628]
jne 0x10157272
lea esi, [ebx + 0x24ff4]
mov edi, 3
mov ebp, 0x4949
nop dword [eax]
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x80]
push 4
mov dword [esp + 0x84], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [ebx + 0x54860], bp
jne 0x10157217
movzx ecx, byte [esp + 0x83]
movzx eax, byte [esp + 0x82]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x81]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x80]
jmp 0x10157241
movzx ecx, byte [esp + 0x80]
movzx eax, byte [esp + 0x81]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x82]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x83]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub edi, 1
jne 0x101571c0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp eax, 0xfa13
jne 0x10157379
mov ecx, dword [ebx + 0x54800]
cmp ebp, 3
jne 0x101572df
push 2
mov word [esp + 0x4c], 0xffff
lea edx, [esp + 0x4c]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x101572c7
movzx ecx, byte [esp + 0x49]
movzx eax, byte [esp + 0x48]
shl ecx, 8
or ecx, eax
mov word [ebx + 0x16], cx
jmp 0x10157738
movzx ecx, byte [esp + 0x48]
movzx eax, byte [esp + 0x49]
shl ecx, 8
or ecx, eax
mov word [ebx + 0x16], cx
jmp 0x10157738
push 4
mov dword [esp + 0x88], 0xffffffff
lea edx, [esp + 0x88]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x10157341
movzx ecx, byte [esp + 0x87]
movzx eax, byte [esp + 0x86]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x85]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x84]
shl ecx, 8
or ecx, eax
mov word [ebx + 0x16], cx
jmp 0x10157738
movzx ecx, byte [esp + 0x84]
movzx eax, byte [esp + 0x85]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x86]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x87]
shl ecx, 8
or ecx, eax
mov word [ebx + 0x16], cx
jmp 0x10157738
cmp eax, 0xfa14
jne 0x10157466
mov ecx, dword [ebx + 0x54800]
cmp ebp, 3
jne 0x101573d0
push 2
mov word [esp + 0x50], 0xffff
lea edx, [esp + 0x50]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x101573c1
movzx ecx, byte [esp + 0x4d]
movzx eax, byte [esp + 0x4c]
jmp 0x10157450
movzx ecx, byte [esp + 0x4c]
movzx eax, byte [esp + 0x4d]
jmp 0x10157450
push 4
mov dword [esp + 0x8c], 0xffffffff
lea edx, [esp + 0x8c]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x10157426
movzx ecx, byte [esp + 0x8b]
movzx eax, byte [esp + 0x8a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x89]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x88]
jmp 0x10157450
movzx ecx, byte [esp + 0x88]
movzx eax, byte [esp + 0x89]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x8a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x8b]
shl ecx, 8
or ecx, eax
lea eax, [ecx + 1]
and eax, 0xfffe
mov word [ebx + 0x14], ax
jmp 0x10157738
cmp eax, 0xfa18
jne 0x1015751b
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x8c]
push 4
mov dword [esp + 0x90], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x101574cd
movzx ecx, byte [esp + 0x8f]
movzx eax, byte [esp + 0x8e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x8d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x8c]
jmp 0x101574f7
movzx ecx, byte [esp + 0x8c]
movzx eax, byte [esp + 0x8d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x8e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x8f]
shl ecx, 8
or ecx, eax
mov word [ebx + 0xc50], cx
cmp ebp, 8
je 0x10157738
lea eax, [ecx + 1]
mov word [ebx + 0xc50], ax
jmp 0x10157738
cmp eax, 0xfa19
jne 0x101575d0
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x90]
push 4
mov dword [esp + 0x94], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x10157582
movzx ecx, byte [esp + 0x93]
movzx eax, byte [esp + 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x91]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x90]
jmp 0x101575ac
movzx ecx, byte [esp + 0x90]
movzx eax, byte [esp + 0x91]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x93]
shl ecx, 8
or ecx, eax
mov word [ebx + 0xc52], cx
cmp ebp, 8
je 0x10157738
lea eax, [ecx + 1]
mov word [ebx + 0xc52], ax
jmp 0x10157738
cmp eax, 0xfa31
jne 0x1015762c
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x50]
push 2
mov word [esp + 0x54], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x1015760c
movzx ecx, byte [esp + 0x51]
movzx eax, byte [esp + 0x50]
jmp 0x10157616
movzx ecx, byte [esp + 0x50]
movzx eax, byte [esp + 0x51]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xb8], ax
jmp 0x10157738
cmp eax, 0xfa32
jne 0x10157688
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x54]
push 2
mov word [esp + 0x58], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x10157668
movzx ecx, byte [esp + 0x55]
movzx eax, byte [esp + 0x54]
jmp 0x10157672
movzx ecx, byte [esp + 0x54]
movzx eax, byte [esp + 0x55]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xba], ax
jmp 0x10157738
cmp eax, 0xfa3e
jne 0x101576e1
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x58]
push 2
mov word [esp + 0x5c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x101576c4
movzx ecx, byte [esp + 0x59]
movzx eax, byte [esp + 0x58]
jmp 0x101576ce
movzx ecx, byte [esp + 0x58]
movzx eax, byte [esp + 0x59]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xb4], ax
jmp 0x10157738
cmp eax, 0xfa3f
jne 0x10157738
mov ecx, dword [ebx + 0x54800]
lea edx, [esp + 0x5c]
push 2
mov word [esp + 0x60], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [ebx + 0x54860], ax
jne 0x1015771d
movzx ecx, byte [esp + 0x5d]
movzx eax, byte [esp + 0x5c]
jmp 0x10157727
movzx ecx, byte [esp + 0x5c]
movzx eax, byte [esp + 0x5d]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0xb6], ax
mov ecx, dword [ebx + 0x54800]
push 0
push 0
push dword [esp + 0xd8]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebp, dword [esp + 0xe8]
test ebp, ebp
jne 0x101558f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret 4