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

Disassembly:
sub esp, 0x58
mov edx, dword [esp + 0x60]
push ebx
push ebp
push esi
mov eax, 0x410
mov word [esp + 0x4c], ax
mov eax, dword [esp + 0x68]
push edi
mov esi, ecx
lea eax, [eax + edx - 4]
mov ecx, 0x45f3
cdq
mov word [esp + 0x52], cx
mov ecx, dword [esi + 0x409b0]
mov edi, dword [ecx]
push 0
push edx
mov edx, dword [edi + 0xc]
push eax
mov dword [esp + 0x58], 0xffffffff
call edx
mov ecx, dword [esi + 0x409b0]
mov bl, 0xff
push 4
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], bl
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x78]
push edx
call eax
mov edi, dword [esi + 0x409b0]
mov ebp, dword [edi]
push 0
lea ecx, [esp + 0x74]
push ecx
mov ecx, esi
call fcn.10076390
add eax, dword [esp + 0x70]
mov ecx, edi
cdq
push edx
mov edx, dword [ebp + 0xc]
push eax
call edx
mov ecx, esi
call fcn.10076330
movzx eax, ax
cmp eax, 0x64
jg 0x1008b0c4
test eax, eax
je 0x1008b0c4
jmp 0x1008a3f4
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi + 0x409b0]
dec eax
push 2
mov dword [esp + 0x60], eax
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x78]
push edx
call eax
movzx dx, byte [esp + 0x71]
mov ecx, 0x4949
cmp word [esi + 0x40a00], cx
jne 0x1008a43d
movzx ax, byte [esp + 0x70]
shl dx, 8
or dx, ax
movzx eax, dx
jmp 0x1008a44d
movzx cx, byte [esp + 0x70]
shl cx, 8
or cx, dx
movzx eax, cx
mov ecx, dword [esi + 0x409b0]
push 4
movzx edi, ax
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], bl
mov byte [esp + 0x37], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x38]
push edx
call eax
mov ecx, 0x4949
cmp word [esi + 0x40a00], cx
jne 0x1008a49a
movzx ebp, byte [esp + 0x33]
movzx edx, byte [esp + 0x32]
movzx eax, byte [esp + 0x31]
movzx ecx, byte [esp + 0x30]
jmp 0x1008a4ae
movzx ebp, byte [esp + 0x30]
movzx edx, byte [esp + 0x31]
movzx eax, byte [esp + 0x32]
movzx ecx, byte [esp + 0x33]
shl ebp, 8
or ebp, edx
shl ebp, 8
or ebp, eax
shl ebp, 8
or ebp, ecx
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [esi + 0x409b0]
add eax, 4
push 4
mov dword [esp + 0x68], eax
mov byte [esp + 0x38], bl
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], bl
mov byte [esp + 0x3b], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x3c]
push eax
call edx
movzx ecx, byte [esp + 0x36]
movzx edx, byte [esp + 0x35]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008a52a
movzx eax, byte [esp + 0x37]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x34]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x1008a543
movzx eax, byte [esp + 0x34]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x37]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov edx, dword [edx + 0xc]
push 0
add eax, ecx
mov ecx, dword [esi + 0x409b0]
push 0
push eax
call edx
mov eax, edi
sar eax, 8
add eax, 8
or eax, 8
cmp eax, 0x38
jne 0x1008a587
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
push ebp
call eax
push eax
mov ecx, esi
call fcn.1008a340
cmp edi, 0x810
jne 0x1008a5ac
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
push 0x40
lea eax, [esi + 0x20544]
push eax
call edx
jmp 0x1008b0a3
cmp edi, 0x80a
jne 0x1008a60b
mov ecx, dword [esi + 0x409b0]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 1
push 0x40
lea edi, [esi + 8]
push edi
call edx
mov eax, edi
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1008a5d0
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
sub eax, edi
xor edi, edi
sub eax, 0x3f
push 1
sbb edi, edi
push edi
push eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
push 0x40
lea eax, [esi + 0x48]
push eax
call edx
jmp 0x1008b0a3
cmp edi, 0x1810
jne 0x1008a6b0
mov ecx, dword [esi + 0x409b0]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 1
push 0
push 0xc
call edx
mov ecx, dword [esi + 0x409b0]
push 4
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x40]
push edx
call eax
movzx edx, byte [esp + 0x3a]
mov ecx, 0x4949
cmp word [esi + 0x40a00], cx
movzx ecx, byte [esp + 0x39]
jne 0x1008a68c
movzx eax, byte [esp + 0x3b]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x38]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [esi + 0xc0], eax
jmp 0x1008b0a3
movzx eax, byte [esp + 0x38]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x3b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esi + 0xc0], eax
jmp 0x1008b0a3
cmp edi, 0x1835
jne 0x1008a742
mov ecx, dword [esi + 0x409b0]
push 4
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x44]
push eax
call edx
movzx ecx, byte [esp + 0x3e]
movzx edx, byte [esp + 0x3d]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008a71e
movzx eax, byte [esp + 0x3f]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x3c]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esi + 0x40a48], eax
jmp 0x1008b0a3
movzx eax, byte [esp + 0x3c]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x3f]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [esi + 0x40a48], eax
jmp 0x1008b0a3
cmp edi, 0x2007
jne 0x1008a76e
mov ecx, dword [esi + 0x409b0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov dword [esi + 0x409c8], eax
mov dword [esi + 0x409cc], edx
mov dword [esi + 0x20590], ebp
jmp 0x1008b0a3
cmp edi, 0x1818
jne 0x1008a8dd
mov ecx, dword [esi + 0x409b0]
push 4
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x5c]
push edx
call eax
mov ecx, dword [esi + 0x409b0]
push 4
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], bl
mov byte [esp + 0x47], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x48]
push eax
call edx
movzx ecx, byte [esp + 0x42]
movzx edx, byte [esp + 0x41]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008a7f9
movzx eax, byte [esp + 0x43]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x40]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x1008a812
movzx eax, byte [esp + 0x40]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x43]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [esp + 0x60], eax
fld dword [esp + 0x60]
fchs
fld qword [0x1023a780]
fxch st(1)
call fcn.10153360
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
mov ecx, dword [esi + 0x409b0]
push 4
fstp dword [esi + 0x202ac]
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x4b], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x4c]
push edx
call eax
movzx edx, byte [esp + 0x46]
mov ecx, 0x4949
cmp word [esi + 0x40a00], cx
movzx ecx, byte [esp + 0x45]
jne 0x1008a890
movzx eax, byte [esp + 0x47]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x44]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x1008a8a9
movzx eax, byte [esp + 0x44]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x47]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esp + 0x60], eax
fld dword [esp + 0x60]
fmul qword [0x1023a7b8]
fstp dword [esp + 0x60]
fld qword [0x1023a780]
fld dword [esp + 0x60]
call fcn.10153360
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esi + 0x202b0]
jmp 0x1008b0a3
cmp edi, 0x102a
jne 0x1008aa14
mov ecx, dword [esi + 0x409b0]
push 4
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x60]
push eax
call edx
mov ecx, esi
call fcn.10076330
movzx eax, ax
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fmul qword [0x1023aab0]
fsub qword [0x1023a788]
fld qword [0x1023a780]
fxch st(1)
call fcn.10153360
fmul qword [0x10179cb0]
mov ecx, esi
fstp dword [esi + 0x202a8]
call fcn.10076330
mov ecx, esi
call fcn.10076330
movsx ecx, ax
mov dword [esp + 0x60], ecx
fild dword [esp + 0x60]
fmul qword [0x10179ca8]
fld qword [0x1023a780]
fxch st(1)
call fcn.10153360
fstp dword [esi + 0x202b0]
mov ecx, esi
call fcn.10076330
movsx edx, ax
neg edx
mov dword [esp + 0x60], edx
fild dword [esp + 0x60]
fmul qword [0x1023aab0]
fld qword [0x1023a780]
fxch st(1)
call fcn.10153360
fstp dword [esi + 0x202ac]
mov ecx, esi
call fcn.10076330
mov ecx, esi
call fcn.10076330
movzx eax, ax
cmp eax, 0x11
mov dword [esp + 0x4c], eax
jle 0x1008a9c7
mov dword [esp + 0x4c], 0
mov ecx, dword [esi + 0x409b0]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 1
push 0
push 0x20
call edx
fld dword [esi + 0x202ac]
fcomp qword [0x10179ff8]
fnstsw ax
test ah, 0x41
jne 0x1008b0a3
mov ecx, esi
call fcn.10076330
movzx eax, ax
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fdiv qword [0x1023ac68]
fstp dword [esi + 0x202ac]
jmp 0x1008b0a3
cmp edi, 0x102c
jne 0x1008ab5e
mov ecx, esi
call fcn.10076330
mov ecx, 0x200
cmp ax, cx
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 1
push 0
jbe 0x1008aade
push 0x76
call eax
xor edi, edi
lea ebx, [ebx]
mov ecx, dword [esi + 0x409b0]
push 2
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x18]
push eax
call edx
movzx cx, byte [esp + 0x11]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008aa94
movzx dx, byte [esp + 0x10]
shl cx, 8
or cx, dx
movzx eax, cx
jmp 0x1008aaa4
movzx ax, byte [esp + 0x10]
shl ax, 8
or ax, cx
movzx eax, ax
movzx edx, ax
mov dword [esp + 0x60], edx
mov eax, edi
xor eax, 2
fild dword [esp + 0x60]
inc edi
cmp edi, 4
fstp dword [esi + eax*4 + 0x14c]
jl 0x1008aa50
mov ecx, dword [esi + 0xc8]
and ecx, 0xffffbfff
or ecx, 0x3000
mov dword [esi + 0xc8], ecx
jmp 0x1008b0a3
push 0x62
call eax
xor edi, edi
mov ecx, dword [esi + 0x409b0]
push 2
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x1c]
push eax
call edx
movzx cx, byte [esp + 0x15]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008ab28
movzx dx, byte [esp + 0x14]
shl cx, 8
or cx, dx
movzx eax, cx
jmp 0x1008ab38
movzx ax, byte [esp + 0x14]
shl ax, 8
or ax, cx
movzx eax, ax
movzx edx, ax
mov eax, edi
xor eax, 2
sar eax, 1
mov dword [esp + 0x60], edx
xor eax, edi
inc edi
cmp edi, 4
fild dword [esp + 0x60]
fstp dword [esi + eax*4 + 0x14c]
jl 0x1008aae4
jmp 0x1008aac1
cmp edi, 0x32
jne 0x1008ad6f
cmp ebp, 0x300
jne 0x1008ac44
mov ecx, dword [esi + 0x409b0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 1
push 0
push 0x48
call eax
xor edi, edi
jmp 0x1008ab90
mov ecx, dword [esi + 0x409b0]
push 2
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1d], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x20]
push eax
call edx
movzx cx, byte [esp + 0x19]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008abd4
movzx dx, byte [esp + 0x18]
shl cx, 8
or cx, dx
movzx eax, cx
jmp 0x1008abe4
movzx ax, byte [esp + 0x18]
shl ax, 8
or ax, cx
movzx eax, ax
movzx edx, ax
mov dword [esp + 0x60], edx
mov eax, edi
sar eax, 1
fild dword [esp + 0x60]
xor eax, edi
inc edi
cmp edi, 4
fdivr qword [0x10179ff0]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esi + eax*4 + 0x14c]
jl 0x1008ab90
mov ecx, dword [esi + 0xc8]
and ecx, 0xffffbfff
or ecx, 0x3000
cmp dword [esp + 0x4c], 0
mov dword [esi + 0xc8], ecx
jne 0x1008b0a3
fld dword [0x101796cc]
fstp dword [esi + 0x14c]
jmp 0x1008b0a3
fldz
fcomp dword [esi + 0x14c]
fnstsw ax
test ah, 0x44
jp 0x1008b0a3
mov ecx, esi
call fcn.10076330
cmp ax, word [esp + 0x50]
jne 0x1008ac91
lea edx, [esi + 0x48]
push str.Pro1
push edx
call fcn.101519e0
add esp, 8
test eax, eax
mov eax, str.012346000000000000
jne 0x1008ac84
mov eax, str.01345:000000006008
mov ebp, dword [esp + 0x4c]
movsx eax, byte [eax + ebp]
sub eax, 0x2e
jmp 0x1008acad
mov ebp, dword [esp + 0x4c]
movsx eax, byte [ebp + str.023457000000006000]
xor ecx, ecx
sub eax, 0x30
xor edx, edx
mov word [esp + 0x52], cx
mov word [esp + 0x50], dx
mov ecx, dword [esi + 0x409b0]
mov edi, dword [ecx]
lea eax, [eax*8 + 0x4e]
cdq
push 1
push edx
push eax
mov eax, dword [edi + 0xc]
call eax
xor edi, edi
jmp 0x1008acd0
mov ecx, dword [esi + 0x409b0]
push 2
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x24]
push eax
call edx
movzx cx, byte [esp + 0x1d]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008ad14
movzx dx, byte [esp + 0x1c]
shl cx, 8
or cx, dx
movzx eax, cx
jmp 0x1008ad24
movzx ax, byte [esp + 0x1c]
shl ax, 8
or ax, cx
movzx eax, ax
mov edx, edi
and edx, 1
mov cx, word [esp + edx*2 + 0x50]
xor cx, ax
mov eax, edi
movzx edx, cx
xor eax, 2
sar eax, 1
mov dword [esp + 0x60], edx
xor eax, edi
inc edi
cmp edi, 4
fild dword [esp + 0x60]
fstp dword [esi + eax*4 + 0x14c]
jl 0x1008acd0
mov ecx, dword [esi + 0xc8]
and ecx, 0xffffbfff
or ecx, 0x3000
test ebp, ebp
jmp 0x1008ac27
cmp edi, 0x10a9
jne 0x1008ae40
cmp ebp, 0x42
jle 0x1008ad92
mov edx, dword [esp + 0x4c]
movsx eax, byte [edx + 0x10179fa0]
sub eax, 0x30
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esi + 0x409b0]
mov edi, dword [ecx]
lea eax, [eax*8 + 2]
cdq
push 1
push edx
mov edx, dword [edi + 0xc]
push eax
call edx
xor edi, edi
mov ecx, dword [esi + 0x409b0]
push 2
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x28]
push edx
call eax
movzx dx, byte [esp + 0x21]
mov ecx, 0x4949
cmp word [esi + 0x40a00], cx
jne 0x1008adf5
movzx ax, byte [esp + 0x20]
shl dx, 8
or dx, ax
movzx eax, dx
jmp 0x1008ae05
movzx cx, byte [esp + 0x20]
shl cx, 8
or cx, dx
movzx eax, cx
movzx eax, ax
mov ecx, edi
sar ecx, 1
mov dword [esp + 0x60], eax
xor ecx, edi
inc edi
cmp edi, 4
fild dword [esp + 0x60]
fstp dword [esi + ecx*4 + 0x14c]
jl 0x1008adb1
mov edx, dword [esi + 0xc8]
and edx, 0xffffbfff
or edx, 0x3000
mov dword [esi + 0xc8], edx
jmp 0x1008b0a3
cmp edi, 0x1030
jne 0x1008ae67
mov ecx, dword [esp + 0x4c]
mov eax, 0x18040
sar eax, cl
test al, 1
je 0x1008b0a3
mov ecx, esi
call fcn.1008a1a0
jmp 0x1008b0a3
cmp edi, 0x1031
jne 0x1008af56
mov ecx, dword [esi + 0x409b0]
push 2
mov byte [esp + 0x30], bl
mov byte [esp + 0x31], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x34]
push eax
call edx
mov ecx, dword [esi + 0x409b0]
push 2
mov byte [esp + 0x28], bl
mov byte [esp + 0x29], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x2c]
push edx
call eax
movzx dx, byte [esp + 0x25]
mov ecx, 0x4949
cmp word [esi + 0x40a00], cx
jne 0x1008aed5
movzx ax, byte [esp + 0x24]
shl dx, 8
or dx, ax
movzx eax, dx
jmp 0x1008aee5
movzx cx, byte [esp + 0x24]
shl cx, 8
or cx, dx
movzx eax, cx
mov ecx, dword [esi + 0x409b0]
push 2
mov word [esi + 0xaa], ax
mov byte [esp + 0x2c], bl
mov byte [esp + 0x2d], bl
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 1
lea edx, [esp + 0x30]
push edx
call eax
movzx dx, byte [esp + 0x29]
mov ecx, 0x4949
cmp word [esi + 0x40a00], cx
jne 0x1008af3a
movzx ax, byte [esp + 0x28]
shl dx, 8
or dx, ax
movzx eax, dx
mov word [esi + 0xa8], ax
jmp 0x1008b0a3
movzx cx, byte [esp + 0x28]
shl cx, 8
or cx, dx
movzx eax, cx
mov word [esi + 0xa8], ax
jmp 0x1008b0a3
cmp edi, 0x5029
jne 0x1008af99
mov eax, ebp
sar eax, 0x10
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
and ebp, 0xffff
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fst dword [esi + 0x202b4]
cmp ebp, 2
jne 0x1008b0a1
fmul qword [0x1023aab0]
fstp dword [esi + 0x202b4]
jmp 0x1008b0a3
cmp edi, 0x5813
jne 0x1008afb4
mov dword [esp + 0x60], ebp
fld dword [esp + 0x60]
fstp dword [esi + 0x20250]
jmp 0x1008b0a3
cmp edi, 0x5814
jne 0x1008afcf
mov dword [esp + 0x60], ebp
fld dword [esp + 0x60]
fstp dword [esi + 0x20254]
jmp 0x1008b0a3
cmp edi, 0x5817
jne 0x1008afe2
mov dword [esi + 0x202c0], ebp
jmp 0x1008b0a3
cmp edi, 0x5834
jne 0x1008aff5
mov dword [esi + 0x409f0], ebp
jmp 0x1008b0a3
cmp edi, 0x580e
jne 0x1008b011
mov eax, ebp
cdq
mov dword [esi + 0x202b8], eax
mov dword [esi + 0x202bc], edx
jmp 0x1008b0a3
cmp edi, 0x180e
jne 0x1008b0a3
mov ecx, dword [esi + 0x409b0]
push 4
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4f], bl
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [esp + 0x50]
push eax
call edx
movzx ecx, byte [esp + 0x4a]
movzx edx, byte [esp + 0x49]
mov eax, 0x4949
cmp word [esi + 0x40a00], ax
jne 0x1008b076
movzx eax, byte [esp + 0x4b]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x48]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x1008b08f
movzx eax, byte [esp + 0x48]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x4b]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [esi + 0x202b8], eax
mov dword [esi + 0x202bc], 0
jmp 0x1008b0a3
fstp st(0)
mov eax, dword [esp + 0x64]
mov ecx, dword [esi + 0x409b0]
mov edi, dword [ecx]
cdq
push 0
push edx
push eax
mov eax, dword [edi + 0xc]
call eax
cmp dword [esp + 0x5c], 0
jne 0x1008a3f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 8