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

Disassembly:
sub esp, 0x1e4
push ebx
mov ebx, dword [0x7cf900]
push ebp
xor ebp, ebp
cmp ebx, ebp
push esi
push edi
mov edi, eax
mov esi, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
jne 0x4f6028
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1e4
ret
cmp esi, ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0xac], ebp
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xf4], ebp
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x124], ebp
mov dword [esp + 0x1c], ebp
je 0x4f6149
mov ebx, dword [esi + 0x20]
push 0x24
lea eax, [esp + 0x54]
push esi
push eax
mov dword [esp + 0x20], ebx
call fcn.004dc130
mov ecx, dword [esp + 0x204]
add esi, 0x24
add esp, 0xc
cmp edi, ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
je 0x4f612f
xor edx, edx
cmp ebx, ebp
jle 0x4f60fb
mov eax, dword [esi]
test eax, eax
js 0x4f60ed
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x8000000
jne 0x4f60ed
mov ecx, eax
and ecx, 0xffff
cmp ecx, 0x8000
jae 0x4f60ed
mov ecx, dword [ecx*4 + 0x71dfc4]
cmp ecx, ebp
je 0x4f60ed
mov edi, dword [ecx]
shl edi, 0x10
and eax, 0x7ff0000
cmp edi, eax
jne 0x4f60ed
mov eax, dword [ecx + 0xa0]
mov ecx, dword [eax]
mov dword [esp + edx*4 + 0x20], ecx
jmp 0x4f60f1
mov dword [esp + edx*4 + 0x20], ebp
add edx, 1
add esi, 0x18
cmp edx, ebx
jl 0x4f60a0
mov eax, dword [esp + 0x60]
mov ebx, dword [0x7cf900]
mov ecx, dword [0x8168a4]
cmp ecx, 0xffffffff
je 0x4f6b01
mov edx, dword [0x8168a8]
mov dword [esp + 0x50], 1
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
jmp 0x4f6b05
xor eax, eax
cmp ebx, ebp
jle 0x4f60fb
mov ecx, esi
mov edx, dword [ecx]
mov dword [esp + eax*4 + 0x20], edx
add eax, 1
add ecx, 0x18
cmp eax, ebx
jl 0x4f6137
jmp 0x4f60fb
mov ecx, 1
cmp dword [0x80f8cc], ecx
jne 0x4f6225
mov esi, dword [0x80f808]
push 0x24
lea eax, [esp + 0x54]
push 0x80f7e8
push eax
mov dword [esp + 0x20], esi
call fcn.004dc130
mov edx, dword [0x80f8d0]
add esp, 0xc
cmp edi, ebp
mov ecx, 0x80f80c
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
je 0x4f6200
xor edx, edx
cmp esi, ebp
jle 0x4f60fb
mov edi, ecx
jmp 0x4f61a0
mov eax, dword [edi]
test eax, eax
js 0x4f61ed
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x8000000
jne 0x4f61ed
mov ecx, eax
and ecx, 0xffff
cmp ecx, 0x8000
jae 0x4f61ed
mov ecx, dword [ecx*4 + 0x71dfc4]
cmp ecx, ebp
je 0x4f61ed
mov ebx, dword [ecx]
shl ebx, 0x10
and eax, 0x7ff0000
cmp ebx, eax
jne 0x4f61ed
mov eax, dword [ecx + 0xa0]
mov ecx, dword [eax]
mov dword [esp + edx*4 + 0x20], ecx
jmp 0x4f61f1
mov dword [esp + edx*4 + 0x20], ebp
add edx, 1
add edi, 0x18
cmp edx, esi
jl 0x4f61a0
jmp 0x4f60fb
xor eax, eax
cmp esi, ebp
jle 0x4f60fb
lea ebx, [ebx]
mov edx, dword [ecx]
mov dword [esp + eax*4 + 0x20], edx
add eax, 1
add ecx, 0x18
cmp eax, esi
jl 0x4f6210
jmp 0x4f60fb
cmp dword [0x89f1c4], ebp
jne 0x4f62f4
cmp dword [0x8168b0], ebp
jne 0x4f62f4
mov eax, dword [0x8168b4]
cmp eax, ebp
je 0x4f601a
cmp eax, ecx
jne 0x4f62f4
cmp dword [0x80f6fc], ebp
je 0x4f62c4
cmp dword [0x8168a0], ecx
jne 0x4f6293
mov ecx, dword [0x80f6f8]
mov eax, dword [ebx]
mov edx, dword [eax + 0x104]
push ecx
push 2
push ebx
call edx
mov eax, dword [0x80f6f8]
pop edi
pop esi
mov dword [0x8168b4], ebp
pop ebp
mov dword [0x80f758], eax
xor eax, eax
pop ebx
add esp, 0x1e4
ret
mov eax, dword [0x80f6f8]
mov edx, dword [ebx]
push eax
push ecx
mov ecx, dword [edx + 0x104]
push ebx
call ecx
mov edx, dword [0x80f6f8]
pop edi
pop esi
mov dword [0x8168b4], ebp
pop ebp
mov dword [0x80f740], edx
xor eax, eax
pop ebx
add esp, 0x1e4
ret
mov ecx, dword [0x80f6f8]
mov eax, dword [ebx]
mov edx, dword [eax + 0x104]
push ecx
push ebp
push ebx
call edx
mov eax, dword [0x80f6f8]
pop edi
pop esi
mov dword [0x8168b4], ebp
pop ebp
mov dword [0x80f728], eax
xor eax, eax
pop ebx
add esp, 0x1e4
ret
mov edi, dword [0x816894]
mov esi, edi
shl esi, 4
mov eax, dword [esi + 0x6a299c]
mov ecx, dword [esi + 0x6a2990]
mov edx, dword [esi + 0x6a2994]
mov dword [esp + 0x6c], eax
or eax, 0xffffffff
cmp edi, 3
mov dword [0x8168b4], ebp
mov dword [0x8168b0], ebp
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
jne 0x4f6362
cmp dword [0x7cfa70], ebp
je 0x4f636b
or eax, 0xffffffff
mov dword [esp + 0x68], 2
mov dword [esp + 0x64], 5
mov dword [esp + 0x6c], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x10], 1
jmp 0x4f6379
cmp edi, ebp
je 0x4f6375
cmp edi, 6
je 0x4f6375
mov dword [esp + 0x10], 1
jmp 0x4f6379
mov dword [esp + 0x10], ebp
xor ecx, ecx
cmp dword [0x80f6fc], ebp
setne cl
cmp dword [0x80f6f8], ebp
jne 0x4f65e3
mov eax, 3
cmp edi, eax
mov dword [0x8168b8], ebp
lea ecx, [eax - 2]
jne 0x4f63af
mov dword [esp + 0x18], 0x6a2a90
jmp 0x4f6584
mov esi, dword [esi + 0x6a2998]
cmp esi, eax
mov dword [esp + 0x78], ebp
mov dword [esp + 0x90], ebp
mov word [esp + 0x98], bp
mov word [esp + 0x9a], bp
mov word [esp + 0x9c], cx
mov word [esp + 0x9e], bp
mov word [esp + 0xa0], bp
mov word [esp + 0xa2], cx
ja case.default.0x4f63f8
jmp dword [esi*4 + 0x4f72dc]
mov word [esp + 0x84], ax
mov word [esp + 0x88], bp
mov word [esp + 0x8a], ax
jmp 0x4f6564
mov word [esp + 0x84], ax
mov word [esp + 0x88], ax
mov word [esp + 0x8a], 0xc
jmp 0x4f6564
mov word [esp + 0x84], ax
mov word [esp + 0x86], 0x10
mov word [esp + 0x88], bp
mov word [esp + 0x8a], 2
jmp 0x4f656c
mov eax, dword [0x7cfa74]
test eax, eax
js 0x4f64ac
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x8000000
jne 0x4f64ac
mov ecx, eax
and ecx, 0xffff
cmp ecx, 0x8000
jge 0x4f64ac
mov esi, dword [ecx*4 + 0x71dfc4]
cmp esi, ebp
je 0x4f64b0
mov edx, dword [esi]
shl edx, 0x10
and eax, 0x7ff0000
cmp edx, eax
je 0x4f6537
jmp 0x4f64b0
mov esi, dword [esp + 0x10]
mov ebx, dword [0x8e8138]
push 0xff
push ebp
push 0xff
mov dword [esp + 0x24], ebx
call fcn.00507650
push ebp
push 1
push ebp
push ebp
push 0x54
push 0x6cf578
call fcn.00507ca0
movzx edx, byte [esp + 0x3e]
mov dword [0x7cfa74], eax
mov eax, ebx
and eax, 0xff
movzx ecx, bh
push eax
push ecx
push edx
call fcn.00507650
add esp, 0x30
call fcn.004e8580
mov eax, dword [0x7cfa74]
test eax, eax
js 0x4f652b
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x8000000
jne 0x4f652b
and eax, 0xffff
cmp eax, 0x8000
jge 0x4f652b
mov esi, dword [eax*4 + 0x71dfc4]
mov ebx, dword [0x7cf900]
mov edi, dword [0x816894]
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + 0x30]
mov dword [esp + 0x20], eax
mov word [esp + 0x84], 3
mov word [esp + 0x88], 2
mov word [esp + 0x8a], 6
mov ecx, 1
mov word [esp + 0x86], bp
mov word [esp + 0x82], bp
mov word [esp + 0x80], bp
lea edx, [esp + 0x74]
mov dword [esp + 0x18], edx
mov eax, dword [0x80f708]
mov edx, dword [0x80f70c]
mov dword [esp + 0x54], eax
mov eax, dword [0x80f714]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x10]
shl edi, 4
cmp dword [edi + 0x6a2998], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edx
jne 0x4f65c2
or eax, 0xffffffff
mov dword [esp + 0x60], eax
mov ecx, dword [0x7cfac0]
lea ecx, [ecx + ecx*2]
mov dword [0x7cfac8], ebp
mov edx, dword [ecx*4 + 0x7cfaa8]
mov dword [0x7cfaf4], edx
jmp 0x4f6aa7
mov ebp, dword [0x8168a0]
mov edx, dword [0x8168ac]
xor edi, edi
test ebp, ebp
jne 0x4f6605
test edx, edx
jne 0x4f6605
cmp dword [0x80f95c], edi
je 0x4f660e
test ecx, ecx
jne 0x4f6616
mov edi, ebp
neg edi
sbb edi, edi
add edi, 2
test ecx, ecx
je 0x4f6935
lea eax, [esp + 0x74]
mov dword [esp + 0x18], eax
mov eax, dword [0x8e80bc]
cmp eax, 0xd
je 0x4f6631
cmp eax, 0xc
je 0x4f6631
xor eax, eax
jmp 0x4f6636
mov eax, 3
lea ecx, [ecx + eax*2]
mov eax, dword [0x816884]
lea ecx, [eax + ecx*2]
mov eax, dword [0x816888]
lea ecx, [eax + ecx*2]
lea eax, [edi + ecx*2]
add eax, ecx
lea esi, [eax + eax*2]
shl esi, 6
add esi, 0x6a2b50
cmp dword [esp + 0x10], 0
mov ecx, 0x30
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x14], ecx
jne 0x4f6684
mov dword [esp + 0x68], 6
mov dword [esp + 0x64], 5
mov ecx, dword [0x816898]
xor eax, eax
cmp ecx, 0xff
sete al
mov dword [0x7cfac8], 2
mov esi, 1
cmp ebp, esi
mov dword [0x8168b8], eax
mov eax, dword [0x7cfac0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x7cfab0]
mov dword [0x7cfaf4], eax
mov eax, dword [0x80f6fc]
mov dword [esp + 0x20], eax
mov eax, dword [0x80f6f8]
jne 0x4f66dd
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], eax
jmp 0x4f66e1
mov dword [esp + 0x24], eax
mov eax, dword [0x81689c]
cmp eax, esi
jg 0x4f6728
test ebp, ebp
mov eax, 0xffffff
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 7
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], eax
jne 0x4f6717
test edx, edx
je 0x4f6895
test ecx, ecx
jne 0x4f6895
mov dword [esp + 0x54], esi
jmp 0x4f6895
cmp eax, 0x40
mov edx, dword [0x80f708]
mov dword [esp + 0x54], edx
mov edx, dword [0x80f70c]
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], esi
jg 0x4f67b3
lea ecx, [ecx + ecx*4]
shl ecx, 8
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x500
sub eax, ecx
cmp eax, 0x400
mov word [esp + 0x9c], 6
jge 0x4f67a6
imul eax, eax, 0xff
cdq
and edx, 0x3ff
add edx, eax
sar edx, 0xa
or eax, 0xffffffff
sub eax, edx
mov word [esp + 0x84], 0xa
jmp 0x4f6889
add eax, 0xfffffc00
shl eax, 6
jmp 0x4f6873
cmp eax, 0x80
mov eax, 0x80808081
jg 0x4f681a
lea ecx, [ecx + ecx*2]
shl ecx, 8
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x300
sub eax, ecx
cmp eax, 0x200
mov word [esp + 0x9c], 5
jge 0x4f6810
imul eax, eax, 0xff
cdq
and edx, 0x1ff
add edx, eax
sar edx, 9
or eax, 0xffffffff
sub eax, edx
mov word [esp + 0x84], 0xa
jmp 0x4f6889
add eax, 0xfffffe00
shl eax, 7
jmp 0x4f6873
shl ecx, 9
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x200
sub eax, ecx
cmp eax, 0x100
mov word [esp + 0x9c], 4
jge 0x4f6868
imul eax, eax, 0xff
cdq
and edx, 0xff
add edx, eax
sar edx, 8
or eax, 0xffffffff
sub eax, edx
mov word [esp + 0x84], 0xa
jmp 0x4f6889
add eax, 0xffffff00
imul eax, eax, 0xff
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov word [esp + 0x84], 7
shl eax, 0x18
or eax, 0xffffff
mov dword [esp + 0x60], eax
cmp dword [0x816890], 0
je 0x4f6aa7
sub ebp, 1
neg ebp
sbb ebp, ebp
mov edi, 2
add ebp, edi
mov ecx, ebp
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
movzx esi, word [esp + ecx + 0x86]
cmp si, di
lea edx, [esp + ecx + 0x86]
jne 0x4f68e3
cmp word [esp + ecx + 0x8a], di
jne 0x4f68e3
mov word [edx], 1
jmp 0x4f6aa3
cmp si, 0x12
jne 0x4f68fd
cmp word [esp + ecx + 0x8a], di
jne 0x4f68fd
mov word [edx], 0x11
jmp 0x4f6aa3
cmp si, di
jne 0x4f6aa7
movzx edx, word [esp + ecx + 0x8a]
cmp dx, 4
lea ecx, [esp + ecx + 0x8a]
je 0x4f692b
cmp dx, 5
je 0x4f692b
cmp dx, 6
jne 0x4f6aa7
mov word [ecx], 3
jmp 0x4f6aa3
mov ecx, dword [0x7cfac0]
mov esi, dword [esi + 0x6a2998]
lea ecx, [ecx + ecx*2]
mov dword [0x8168b8], 0
mov dword [0x7cfac8], 1
mov edx, dword [ecx*4 + 0x7cfaac]
mov ecx, dword [0x816884]
mov dword [0x7cfaf4], edx
lea edx, [ecx + esi*4]
mov ecx, dword [0x816888]
lea edx, [ecx + edx*2]
lea ecx, [edi + edx*2]
add ecx, edx
lea ecx, [ecx + ecx*2]
shl ecx, 6
add ecx, 0x6a2b50
mov edx, dword [ecx]
mov dword [esp + 0x18], ecx
xor ecx, ecx
cmp dword [0x8168ac], 1
mov dword [esp + 0x14], edx
jne 0x4f69b7
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 0x10
mov dword [esp + 0x58], 5
jmp 0x4f6a08
cmp dword [0x80f95c], ecx
jne 0x4f69d9
mov edx, dword [0x80f708]
mov dword [esp + 0x54], edx
mov edx, dword [0x80f70c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], edx
jmp 0x4f69ed
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 5
cmp ebp, 1
jne 0x4f6a08
cmp dword [esp + 0x10], ecx
jne 0x4f6a08
mov dword [esp + 0x68], 6
mov dword [esp + 0x64], 5
mov edx, 1
cmp esi, edx
jne 0x4f6a18
or eax, 0xffffffff
mov dword [esp + 0x60], eax
cmp ebp, edx
mov esi, dword [0x80f6f8]
mov dword [esp + 0x20], esi
je 0x4f6a30
cmp dword [esp + 0x10], edx
mov dword [esp + 0x5c], ecx
jne 0x4f6a34
mov dword [esp + 0x5c], edx
cmp dword [0x816890], ecx
je 0x4f6aa7
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*2 + 3]
add eax, eax
add eax, eax
add eax, eax
push eax
push ecx
lea edx, [esp + 0x13c]
push edx
mov dword [esp + 0x6c], 0xffffffff
call fcn.004dc130
mov ax, word [esp + 0x152]
add esp, 0xc
cmp ax, 2
jne 0x4f6a82
mov word [esp + 0x146], 3
jmp 0x4f6a92
cmp ax, 0x12
jne 0x4f6a92
mov word [esp + 0x146], 0x13
mov ebx, dword [0x7cf900]
lea eax, [esp + 0x134]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x14]
cmp edi, dword [0x80f724]
je 0x4f6aee
mov esi, dword [0x89f1c4]
mov ebx, dword [0x80f8d4]
mov dword [0x80f724], edi
mov dword [0x89f1c4], 1
call fcn.004f1610
mov eax, dword [0x80f8d8]
call fcn.004f18a0
mov eax, dword [esp + 0x60]
mov ebx, dword [0x7cf900]
mov dword [0x89f1c4], esi
cmp edi, 8
jge 0x4f6105
add dword [esp + 0x14], 1
jmp 0x4f6105
mov ecx, dword [esp + 0x58]
cmp dword [0x89f1c4], 1
jne 0x4f6eef
mov eax, dword [ebx]
push ecx
mov ecx, dword [eax + 0xe4]
push 0x19
push ebx
call ecx
mov edx, dword [esp + 0x58]
mov eax, dword [0x7cf900]
mov dword [0x80f70c], edx
mov edx, dword [esp + 0x54]
mov ecx, dword [eax]
push edx
push 0x18
push eax
mov eax, dword [ecx + 0xe4]
call eax
mov ecx, dword [esp + 0x54]
mov eax, dword [0x7cf900]
mov dword [0x80f708], ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [eax]
mov edx, dword [edx + 0xe4]
push ecx
push 0xf
push eax
call edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
mov dword [0x80f704], eax
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push edx
push 0x1b
push eax
mov eax, dword [ecx + 0xe4]
call eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [0x7cf900]
mov dword [0x80f710], ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [eax]
mov edx, dword [edx + 0xe4]
push ecx
push 0x3c
push eax
call edx
cmp dword [0x8a043c], 0
mov eax, dword [esp + 0x60]
mov dword [0x80f714], eax
jne 0x4f6c55
movzx ecx, al
mov dword [esp + 0x10], ecx
mov edx, eax
shr edx, 8
fild dword [esp + 0x10]
and edx, 0xff
fld qword [0x6af0b0]
mov dword [esp + 0x10], edx
mov ecx, eax
fdiv st(1), st(0)
shr ecx, 0x10
and ecx, 0xff
shr eax, 0x18
test eax, eax
fxch st(1)
fstp dword [esp + 0x40]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fdiv st(1)
fstp dword [esp + 0x44]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fdiv st(1)
fstp dword [esp + 0x48]
fild dword [esp + 0x10]
jge 0x4f6c19
fadd dword [0x6a1588]
cmp dword [0x8168d0], 0
fdivrp st(1)
fstp dword [esp + 0x4c]
je 0x4f6c41
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x1b4]
push 1
lea ecx, [esp + 0x44]
push ecx
push 5
push eax
call edx
push 0x10
lea eax, [esp + 0x44]
push eax
push 0x8a0220
call fcn.004dc130
add esp, 0xc
mov ecx, dword [esp + 0x64]
cmp ecx, 0xffffffff
je 0x4f6c7d
mov eax, dword [0x7cf900]
mov edx, dword [eax]
push ecx
push 0x13
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x64]
mov dword [0x80f718], ecx
jmp 0x4f6c9b
mov ecx, dword [0x80f718]
cmp ecx, 1
jle 0x4f6c9b
mov eax, dword [0x7cf900]
mov edx, dword [eax]
push ecx
push 0x13
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x68]
cmp ecx, 0xffffffff
je 0x4f6cc3
mov eax, dword [0x7cf900]
mov edx, dword [eax]
push ecx
push 0x14
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x68]
mov dword [0x80f71c], ecx
jmp 0x4f6ce1
mov ecx, dword [0x80f71c]
cmp ecx, 1
jle 0x4f6ce1
mov eax, dword [0x7cf900]
mov edx, dword [eax]
push ecx
push 0x14
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xffffffff
je 0x4f6d0c
mov eax, dword [0x7cf900]
mov edx, dword [eax]
push ecx
push 0xab
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x6c]
mov dword [0x80f720], ecx
jmp 0x4f6d2d
mov ecx, dword [0x80f720]
cmp ecx, 1
jle 0x4f6d2d
mov eax, dword [0x7cf900]
mov edx, dword [eax]
push ecx
push 0xab
push eax
mov eax, dword [edx + 0xe4]
call eax
xor edi, edi
cmp dword [esp + 0x14], edi
jle 0x4f72cf
mov esi, dword [esp + 0x18]
add esi, 4
mov ebx, 0x80f730
cmp edi, 2
jl 0x4f6d5c
cmp word [esi - 0xc], 1
jne 0x4f6d5c
cmp dword [esp + 0x1c], 0
je 0x4f72cf
mov ebp, dword [esp + edi*4 + 0x20]
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x104]
push ebp
push edi
push eax
call edx
mov dword [ebx - 8], ebp
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4f6d96
mov ecx, dword [0x7cf900]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x10c]
push 0xb
push edi
push ecx
call eax
mov ecx, dword [esi]
mov dword [ebx - 4], ecx
cmp dword [esp + 0x1c], 0
jne 0x4f6ecf
cmp dword [0x7cf90c], 0
je 0x4f6dd9
mov ebp, dword [esi + 4]
cmp ebp, 0xffffffff
je 0x4f6dd9
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
xor ecx, ecx
test ebp, ebp
setne cl
lea ecx, [ecx*4 + 1]
push ecx
push 0x1c
push edi
push eax
call edx
mov eax, dword [esi + 4]
mov dword [ebx], eax
movzx ecx, word [esi + 0xc]
cmp cx, 0xffff
je 0x4f6e02
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 4
push edi
push eax
call edx
mov ax, word [esi + 0xc]
mov word [ebx + 8], ax
movzx ecx, word [esi + 8]
cmp cx, 0xffff
je 0x4f6e2b
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 5
push edi
push eax
call edx
mov ax, word [esi + 8]
mov word [ebx + 4], ax
movzx ecx, word [esi + 0xa]
cmp cx, 0xffff
je 0x4f6e54
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 6
push edi
push eax
call edx
mov ax, word [esi + 0xa]
mov word [ebx + 6], ax
movzx ecx, word [esi + 0x12]
cmp cx, 0xffff
je 0x4f6e7d
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 1
push edi
push eax
call edx
mov ax, word [esi + 0x12]
mov word [ebx + 0xe], ax
movzx ecx, word [esi + 0xe]
cmp cx, 0xffff
je 0x4f6ea6
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 2
push edi
push eax
call edx
mov ax, word [esi + 0xe]
mov word [ebx + 0xa], ax
movzx ecx, word [esi + 0x10]
cmp cx, 0xffff
je 0x4f6ecf
mov eax, dword [0x7cf900]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 3
push edi
push eax
call edx
mov ax, word [esi + 0x10]
mov word [ebx + 0xc], ax
add edi, 1
add esi, 0x18
add ebx, 0x18
cmp edi, dword [esp + 0x14]
jl 0x4f6d45
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1e4
ret
cmp ecx, dword [0x80f70c]
je 0x4f6f19
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0x19
push ebx
call eax
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x7cf900]
mov dword [0x80f70c], ecx
mov ecx, dword [esp + 0x54]
cmp ecx, dword [0x80f708]
je 0x4f6f47
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0x18
push ebx
call eax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x7cf900]
mov dword [0x80f708], ecx
mov ecx, dword [esp + 0x50]
cmp ecx, dword [0x80f704]
je 0x4f6f75
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0xf
push ebx
call eax
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x7cf900]
mov dword [0x80f704], ecx
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [0x80f710]
je 0x4f6fa3
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0x1b
push ebx
call eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x7cf900]
mov dword [0x80f710], ecx
cmp eax, dword [0x80f714]
je 0x4f704c
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0xe4]
push 0x3c
push ebx
call eax
cmp dword [0x8a043c], 0
mov eax, dword [esp + 0x60]
mov dword [0x80f714], eax
jne 0x4f7046
movzx ecx, al
mov dword [esp + 0x10], ecx
mov edx, eax
shr edx, 8
fild dword [esp + 0x10]
and edx, 0xff
fld qword [0x6af0b0]
mov dword [esp + 0x10], edx
mov ecx, eax
fdiv st(1), st(0)
shr ecx, 0x10
and ecx, 0xff
shr eax, 0x18
test eax, eax
fxch st(1)
fstp dword [esp + 0x40]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fdiv st(1)
fstp dword [esp + 0x44]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fdiv st(1)
fstp dword [esp + 0x48]
fild dword [esp + 0x10]
jge 0x4f702f
fadd dword [0x6a1588]
fdivrp st(1)
mov eax, 1
lea ebx, [esp + 0x40]
lea ecx, [eax + 4]
fstp dword [esp + 0x4c]
call fcn.004f1c10
mov ebx, dword [0x7cf900]
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
je 0x4f707b
cmp eax, dword [0x80f718]
je 0x4f707b
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0xe4]
push 0x13
push ebx
call eax
mov ecx, dword [esp + 0x64]
mov ebx, dword [0x7cf900]
mov dword [0x80f718], ecx
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
je 0x4f70aa
cmp eax, dword [0x80f71c]
je 0x4f70aa
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0xe4]
push 0x14
push ebx
call eax
mov ecx, dword [esp + 0x68]
mov ebx, dword [0x7cf900]
mov dword [0x80f71c], ecx
mov eax, dword [esp + 0x6c]
cmp eax, 0xffffffff
je 0x4f70dc
cmp eax, dword [0x80f720]
je 0x4f70dc
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0xe4]
push 0xab
push ebx
call eax
mov ecx, dword [esp + 0x6c]
mov ebx, dword [0x7cf900]
mov dword [0x80f720], ecx
xor ebp, ebp
cmp dword [esp + 0x14], ebp
jle 0x4f72cf
mov esi, dword [esp + 0x18]
add esi, 4
mov edi, 0x80f730
cmp ebp, 2
jl 0x4f710b
cmp word [esi - 0xc], 1
jne 0x4f710b
cmp dword [esp + 0x1c], 0
je 0x4f72cf
mov eax, dword [esp + ebp*4 + 0x20]
cmp eax, dword [edi - 8]
je 0x4f712e
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x104]
push ebp
push ebx
call eax
mov eax, dword [esp + ebp*4 + 0x20]
mov dword [edi - 8], eax
mov ebx, dword [0x7cf900]
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4f7154
cmp eax, dword [edi - 4]
je 0x4f7154
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x10c]
push eax
push 0xb
push ebp
push ebx
call edx
mov eax, dword [esi]
mov dword [edi - 4], eax
mov ebx, dword [0x7cf900]
cmp dword [esp + 0x1c], 0
jne 0x4f72bc
cmp dword [0x7cf90c], 0
je 0x4f719c
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x4f719c
cmp eax, dword [edi]
je 0x4f719c
mov ecx, dword [ebx]
xor edx, edx
test eax, eax
mov eax, dword [ecx + 0x10c]
setne dl
lea edx, [edx*4 + 1]
push edx
push 0x1c
push ebp
push ebx
call eax
mov ecx, dword [esi + 4]
mov dword [edi], ecx
mov ebx, dword [0x7cf900]
movzx eax, word [esi + 0xc]
cmp ax, 0xffff
je 0x4f71cc
cmp ax, word [edi + 8]
je 0x4f71cc
mov edx, dword [ebx]
mov ecx, dword [edx + 0x10c]
movsx eax, ax
push eax
push 4
push ebp
push ebx
call ecx
mov dx, word [esi + 0xc]
mov word [edi + 8], dx
mov ebx, dword [0x7cf900]
movzx eax, word [esi + 8]
cmp ax, 0xffff
je 0x4f71fc
cmp ax, word [edi + 4]
je 0x4f71fc
mov ecx, dword [ebx]
movsx edx, ax
mov eax, dword [ecx + 0x10c]
push edx
push 5
push ebp
push ebx
call eax
mov cx, word [esi + 8]
mov word [edi + 4], cx
mov ebx, dword [0x7cf900]
movzx eax, word [esi + 0xa]
cmp ax, 0xffff
je 0x4f722c
cmp ax, word [edi + 6]
je 0x4f722c
mov edx, dword [ebx]
mov ecx, dword [edx + 0x10c]
movsx eax, ax
push eax
push 6
push ebp
push ebx
call ecx
mov dx, word [esi + 0xa]
mov word [edi + 6], dx
mov ebx, dword [0x7cf900]
movzx eax, word [esi + 0x12]
cmp ax, 0xffff
je 0x4f725c
cmp ax, word [edi + 0xe]
je 0x4f725c
mov ecx, dword [ebx]
movsx edx, ax
mov eax, dword [ecx + 0x10c]
push edx
push 1
push ebp
push ebx
call eax
mov cx, word [esi + 0x12]
mov word [edi + 0xe], cx
mov ebx, dword [0x7cf900]
movzx eax, word [esi + 0xe]
cmp ax, 0xffff
je 0x4f728c
cmp ax, word [edi + 0xa]
je 0x4f728c
mov edx, dword [ebx]
mov ecx, dword [edx + 0x10c]
movsx eax, ax
push eax
push 2
push ebp
push ebx
call ecx
mov dx, word [esi + 0xe]
mov word [edi + 0xa], dx
mov ebx, dword [0x7cf900]
movzx eax, word [esi + 0x10]
cmp ax, 0xffff
je 0x4f72bc
cmp ax, word [edi + 0xc]
je 0x4f72bc
mov ecx, dword [ebx]
movsx edx, ax
mov eax, dword [ecx + 0x10c]
push edx
push 3
push ebp
push ebx
call eax
mov cx, word [esi + 0x10]
mov word [edi + 0xc], cx
mov ebx, dword [0x7cf900]
add ebp, 1
add esi, 0x18
add edi, 0x18
cmp ebp, dword [esp + 0x14]
jl 0x4f70f4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1e4
ret