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

Disassembly:
sub esp, 0x16c
push esi
mov esi, ecx
mov al, byte [esi + 0x450]
test al, al
je 0x4f83eb
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
push ebx
push edi
jbe 0x4f73b5
mov eax, ecx
cmp eax, 1
jne 0x4f70ad
push 0x70ebd8
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
mov edi, dword [0x77ff08]
mov ebx, dword [0x71be84]
lea edx, [ecx + 0x41]
add ecx, 0x15f
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], eax
call fcn.005a30c0
mov edx, dword [edi]
add esp, 4
push 0
push ebx
push 0
push 5
push 0xffefc400
lea ecx, [esp + 0x44]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, edi
call dword [edx + 0x94]
jmp 0x4f735b
cmp eax, 2
jne 0x4f70b9
push 0x70ebcc
jmp 0x4f7046
cmp eax, 3
jne 0x4f710b
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70ebc0
jmp 0x4f7341
cmp eax, 4
jne 0x4f715d
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70ebb4
jmp 0x4f7341
cmp eax, 5
jne 0x4f71af
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70eba8
jmp 0x4f7341
cmp eax, 6
jne 0x4f7201
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70eb9c
jmp 0x4f7341
cmp eax, 7
jne 0x4f7253
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70eb90
jmp 0x4f7341
cmp eax, 8
jne 0x4f72a5
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70eb84
jmp 0x4f7341
cmp eax, 9
jne 0x4f72f4
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70eb78
jmp 0x4f7341
cmp eax, 0xa
jb 0x4f735b
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x71be84]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x70eb6c
mov edi, dword [0x77ff08]
mov dword [esp + 0x50], ecx
call fcn.005a30c0
add esp, 4
mov ecx, edi
push eax
call fcn.004203a0
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
mov edi, dword [0x77ff08]
mov ebx, dword [0x71be84]
lea edx, [ecx + 0xa4]
add ecx, 0x15f
mov dword [esp + 0x48], ecx
lea ecx, [eax + 0x82]
mov dword [esp + 0x40], edx
mov edx, dword [esi + 0x4a8]
add eax, 0x90
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], eax
movzx eax, word [edx + 8]
push eax
push 0x70bba8
call fcn.005a30c0
lea ecx, [esp + 0x48]
jmp 0x4f7405
mov edx, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov ebx, dword [0x71be84]
lea edi, [edx + 0x71]
add edx, 0x15f
mov dword [esp + 0x38], edx
lea edx, [ecx + 0x82]
add ecx, 0x90
mov dword [esp + 0x30], edi
mov edi, dword [0x77ff08]
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ecx
movzx eax, word [eax + 8]
push eax
push 0x70bba8
call fcn.005a30c0
lea ecx, [esp + 0x38]
mov edx, dword [edi]
add esp, 8
push 0
push ebx
push 0
push 5
push 0xffffffffffffffff
push ecx
push 0xffffffffffffffff
mov ecx, edi
push eax
call dword [edx + 0x94]
mov ecx, dword [0x77ff08]
mov edx, dword [ecx]
push ebp
push 0
call dword [edx + 0x80]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x4a4]
lea ebp, [eax + 0x7c]
xor eax, eax
mov dword [esp + 0x55], eax
mov dword [esp + 0x59], eax
mov dword [esp + 0x5d], eax
mov dword [esp + 0x61], eax
mov dword [esp + 0x65], eax
mov dword [esp + 0x69], eax
mov dword [esp + 0x6d], eax
mov word [esp + 0x71], ax
lea ebx, [ecx + 0xa7]
mov byte [esp + 0x54], 0
mov byte [esp + 0x73], al
movzx eax, byte [edx + 0x5d]
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [0x77d8e8]
push eax
mov dword [esp + 0x3c], ebp
call fcn.00425060
mov ecx, dword [0x77ff08]
mov edx, dword [0x71be84]
lea eax, [esp + 0x54]
push eax
push 0x70eb64
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], edx
call fcn.005a30c0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
add esp, 8
mov dword [esp + 0x10], eax
push 0
mov eax, ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
push eax
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0x28]
push 0xffffffffffffffff
mov edi, 0xffff
push eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
call dword [edx + 0x94]
mov eax, dword [0x71be84]
mov ecx, dword [0x77ff08]
mov edx, dword [ecx]
push 0
add ebx, 0x18
push eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x58]
push eax
mov eax, dword [0x77e200]
push 0xffffffffffffffff
add eax, 0x59e
push eax
call dword [edx + 0x94]
mov eax, dword [0x71be84]
mov ecx, dword [0x77ff08]
mov edx, dword [ecx]
push 0
push eax
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x58]
push eax
mov eax, dword [0x77e200]
push 0xffffffffffffffff
add eax, 0x722
add ebx, 0x18
push eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
call dword [edx + 0x94]
mov ecx, dword [0x77ff08]
mov eax, dword [esi + 0x4a4]
mov edx, dword [0x71be84]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x63]
add ebx, 0x18
push ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x18], edx
call fcn.00520920
add esp, 4
push 0
mov edx, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
push edx
push 0
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x30]
push edx
mov ecx, ebp
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [eax + 0x94]
mov ecx, dword [esi + 0x4a4]
mov edx, dword [ecx + 0x67]
mov eax, dword [0x71be84]
add ebx, 0x18
mov dword [esp + 0x14], ebp
mov ebp, dword [0x77ff08]
push edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
call fcn.005209c0
mov ecx, dword [esp + 0x18]
mov edx, ebx
add esp, 4
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [ebp]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
push 0
push ecx
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, ebp
call dword [edx + 0x94]
mov edx, dword [esi + 0x4a4]
mov eax, dword [edx + 0x29]
mov ecx, dword [0x71be84]
mov ebp, eax
and ebp, 0x10000
add ebx, 0x18
neg ebp
sbb ebp, ebp
not ebp
and ebp, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], ebx
mov ebx, dword [0x77ff08]
push ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
call fcn.004201b0
push ebp
mov dword [esp + 0x1c], eax
call fcn.00435410
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add esp, 8
push 0
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
mov dword [esp + 0x38], edx
mov edx, dword [ebx]
push eax
mov ecx, ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov edx, dword [esi + 0x4a8]
mov ecx, dword [esi + 0x1d8]
add eax, 0x10e
mov ebx, eax
mov eax, dword [edx + 0x96]
add ecx, 0xa6
cmp eax, 5
mov ebp, ecx
jae 0x4f7717
mov ecx, dword [0x71be84]
mov edx, dword [eax*4 + 0x758f78]
push 0
push ecx
mov ecx, dword [0x77ff08]
push 0
push 0xffffffffffffffff
push ebp
push ebx
push edx
call fcn.0041b610
mov ecx, dword [esi + 0x4a8]
mov ecx, dword [ecx + 0xc2]
cmp ecx, 9
lea eax, [ebp + 0x18]
jbe 0x4f7744
mov edx, dword [0x71be84]
push 0
push edx
push 0
push 0xffffffffffffffff
push eax
push ebx
push 0x70eb5c
jmp 0x4f7874
jne 0x4f7762
mov ecx, dword [0x71be84]
push 0
push ecx
push 0
push 0xffb800ed
push eax
push ebx
push 0x70eb54
jmp 0x4f7874
cmp ecx, 8
jne 0x4f7783
mov edx, dword [0x71be84]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70d5f0
jmp 0x4f7874
cmp ecx, 7
jne 0x4f77a4
mov ecx, dword [0x71be84]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70d5f8
jmp 0x4f7874
cmp ecx, 6
jne 0x4f77c5
mov edx, dword [0x71be84]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70d600
jmp 0x4f7874
cmp ecx, 5
jne 0x4f77e6
mov ecx, dword [0x71be84]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70eb4c
jmp 0x4f7874
cmp ecx, 4
jne 0x4f7804
mov edx, dword [0x71be84]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70d610
jmp 0x4f7874
cmp ecx, 3
jne 0x4f7822
mov ecx, dword [0x71be84]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70eb44
jmp 0x4f7874
cmp ecx, 2
jne 0x4f7840
mov edx, dword [0x71be84]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70eb3c
jmp 0x4f7874
cmp ecx, 1
jne 0x4f785e
mov ecx, dword [0x71be84]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x70eb34
jmp 0x4f7874
test ecx, ecx
jne 0x4f788a
mov edx, dword [0x71be84]
push ecx
push edx
push ecx
push 0xffffffffffffffff
push eax
push ebx
push 0x70eb2c
mov ebp, dword [0x77ff08]
call fcn.005a30c0
add esp, 4
mov ecx, ebp
push eax
call fcn.0041b610
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x4a4]
lea ebp, [eax + 0x104]
lea eax, [ecx + 0xbf]
mov ecx, dword [0x71be84]
mov ebx, eax
mov eax, dword [0x77ff08]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x63]
push eax
push 0x704238
add ebx, 0x18
mov dword [esp + 0x1c], ecx
call fcn.005a30c0
add esp, 8
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
push eax
push 0
push 0
mov ecx, ebp
push 0xffffffffffffffff
mov dword [esp + 0x30], ecx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
mov ecx, ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov ecx, dword [0x77ff08]
mov eax, dword [esi + 0x4a4]
mov edx, dword [0x71be84]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x67]
push ecx
add ebx, 0x18
push 0x704238
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], edx
call fcn.005a30c0
add esp, 8
push 0
mov edx, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
push edx
push 0
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x30]
push edx
mov ecx, ebp
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [eax + 0x94]
mov eax, dword [0x77ff08]
mov edx, dword [esi + 0x4a8]
mov ecx, dword [0x71be84]
mov dword [esp + 0x10], eax
movzx eax, word [edx + 0x5c]
push eax
add ebx, 0x18
push 0x704238
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], ecx
call fcn.005a30c0
add esp, 8
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
push eax
push 0
push 0
mov ecx, ebp
push 0xffffffffffffffff
mov dword [esp + 0x30], ecx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
mov ecx, ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0xa6]
mov eax, dword [eax + 0xa2]
mov ecx, dword [0x71be84]
push edx
add ebx, 0x18
push eax
mov dword [esp + 0x40], ebx
mov ebx, dword [0x77ff08]
push 0x70b998
mov dword [esp + 0x1c], ecx
call fcn.005a30c0
mov ecx, dword [esp + 0x44]
mov edx, dword [ebx]
add esp, 0xc
push 0
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
push ecx
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [0x71be84]
mov ebx, dword [0x77ff08]
add eax, 0x91
add ecx, 0x14d
mov ebp, eax
mov eax, dword [esi + 0x4a8]
mov dword [esp + 0x38], ecx
movzx ecx, word [eax + 0x70]
push ecx
push 0x704238
mov dword [esp + 0x18], edx
call fcn.005a30c0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
add esp, 8
push 0
push ecx
push 0
push 0
mov dword [esp + 0x30], edx
mov edx, dword [ebx]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
push 0xffffffffffffffff
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, ebx
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
lea ebp, [eax + 0x7d]
lea eax, [ecx + 0x153]
mov ebx, eax
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x66]
add ebx, 0x14
cmp dx, word [eax + 0x8c]
jne 0x4f7b06
mov dword [esp + 0x2c], 0xffffffff
jmp 0x4f7b27
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x66]
cmp word [eax + 0x8c], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x2c], eax
mov edx, dword [0x77ff08]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x71be84]
mov dword [esp + 0x14], edx
movzx edx, word [ecx + 0x66]
push edx
push 0x704238
mov dword [esp + 0x18], eax
call fcn.005a30c0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x34]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x6a]
add ebx, 0x14
cmp dx, word [eax + 0x90]
jne 0x4f7bae
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f7bcf
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x6a]
cmp word [eax + 0x90], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x77ff08]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x71be84]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x6a]
push edx
push 0x704238
mov dword [esp + 0x18], eax
call fcn.005a30c0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x68]
add ebx, 0x14
cmp dx, word [eax + 0x8e]
jne 0x4f7c56
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f7c77
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x68]
cmp word [eax + 0x8e], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x77ff08]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x71be84]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x68]
push edx
push 0x704238
mov dword [esp + 0x18], eax
call fcn.005a30c0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x6c]
add ebx, 0x14
cmp dx, word [eax + 0x92]
jne 0x4f7cfe
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f7d1f
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x6c]
cmp word [eax + 0x92], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x77ff08]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x71be84]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x6c]
push edx
push 0x704238
mov dword [esp + 0x18], eax
call fcn.005a30c0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x64]
add ebx, 0x14
cmp dx, word [eax + 0x8a]
jne 0x4f7da6
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f7dc7
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x64]
cmp word [eax + 0x8a], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x77ff08]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x71be84]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x64]
push edx
push 0x704238
mov dword [esp + 0x18], eax
call fcn.005a30c0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x5a]
add ebx, 0x14
cmp dx, word [eax + 0x88]
jne 0x4f7e4e
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f7e6f
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x5a]
cmp word [eax + 0x88], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x4a8]
movzx ecx, word [eax + 0x5a]
mov edx, dword [0x71be84]
push ecx
mov dword [esp + 0x3c], ebx
mov ebx, dword [0x77ff08]
push 0x704238
mov dword [esp + 0x18], edx
call fcn.005a30c0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
add esp, 8
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
mov dword [esp + 0x3c], edx
mov edx, dword [ebx]
push eax
mov ecx, ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
add eax, 0x10e
mov edx, eax
mov ax, word [esi + 0x4a0]
add ecx, 0x14d
test ax, ax
je 0x4f7f29
cmp ax, di
je 0x4f7f29
mov ebp, dword [0x71be84]
mov ebx, dword [0x77ff08]
push 0
push ebp
push 0
push 0xffffffffffffffff
push ecx
push edx
movzx edx, ax
push edx
push 0x704238
call fcn.005a30c0
add esp, 8
push eax
mov ecx, ebx
call fcn.0041b610
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
add eax, 0x10e
lea ebp, [eax - 0x1e]
mov eax, dword [esi + 0x4a8]
mov eax, dword [eax + 0xc2]
add ecx, 0x152
test eax, eax
lea ebx, [ecx + 0x14]
je 0x4f7fdb
cmp eax, 3
je 0x4f7fdb
cmp eax, 4
je 0x4f7fdb
cmp eax, 5
je 0x4f7fdb
cmp eax, 6
je 0x4f7fdb
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x2e]
cmp ecx, dword [eax + 0x78]
jne 0x4f7f81
or eax, 0xffffffff
jmp 0x4f7f99
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x2e]
cmp dword [eax + 0x78], edx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov edx, dword [0x71be84]
mov ecx, dword [0x77ff08]
push 0
push edx
push 0
push eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x4a8]
mov eax, dword [ecx + 0x32]
mov ecx, dword [ecx + 0x2e]
push ebx
push ebp
push eax
push ecx
push 0x70eb24
call fcn.005a30c0
mov ecx, dword [esp + 0x34]
add esp, 0xc
push eax
call fcn.0041b610
jmp 0x4f8079
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x2e]
cmp edx, dword [eax + 0x78]
jne 0x4f7ff3
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f800f
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x2e]
cmp dword [eax + 0x78], ecx
sbb eax, eax
and eax, 0xff656464
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov eax, dword [0x71be84]
mov edx, dword [0x77ff08]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x32]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x2e]
push ecx
push edx
push 0x70eb24
call fcn.005a30c0
add esp, 0xc
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov edx, dword [esi + 0x4a8]
mov eax, dword [edx + 0xc2]
add ebx, 0x14
test eax, eax
je 0x4f80ff
cmp eax, 1
je 0x4f80ff
cmp eax, 2
je 0x4f80ff
mov eax, edx
mov ecx, dword [eax + 0x36]
cmp ecx, dword [eax + 0x7c]
jne 0x4f80a5
or eax, 0xffffffff
jmp 0x4f80bd
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x36]
cmp dword [eax + 0x7c], edx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov edx, dword [0x71be84]
mov ecx, dword [0x77ff08]
push 0
push edx
push 0
push eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x4a8]
mov eax, dword [ecx + 0x3a]
mov ecx, dword [ecx + 0x36]
push ebx
push ebp
push eax
push ecx
push 0x70eb24
call fcn.005a30c0
mov ecx, dword [esp + 0x34]
add esp, 0xc
push eax
call fcn.0041b610
jmp 0x4f819d
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x36]
cmp edx, dword [eax + 0x7c]
jne 0x4f8117
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f8133
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x36]
cmp dword [eax + 0x7c], ecx
sbb eax, eax
and eax, 0xff656464
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov eax, dword [0x71be84]
mov edx, dword [0x77ff08]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x3a]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x36]
push ecx
push edx
push 0x70eb24
call fcn.005a30c0
add esp, 0xc
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x3e]
mov ecx, dword [eax + 0x80]
add ebx, 0x14
cmp edx, ecx
jne 0x4f81bd
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f81dc
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x3e]
cmp dword [eax + 0x80], ecx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x77ff08]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x71be84]
mov dword [esp + 0x2c], edx
mov edx, dword [ecx + 0x3e]
push edx
push 0x704238
mov dword [esp + 0x18], eax
call fcn.005a30c0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x42]
mov ecx, dword [eax + 0x84]
add ebx, 0x14
cmp edx, ecx
jne 0x4f8262
mov dword [esp + 0x14], 0xffffffff
jmp 0x4f8281
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x42]
cmp dword [eax + 0x84], ecx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x77ff08]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x71be84]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 0x42]
push edx
push 0x704238
mov dword [esp + 0x34], eax
call fcn.005a30c0
add esp, 8
push 0
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x30]
push edi
mov edi, dword [esp + 0x1c]
push 0
push 0
push edi
mov ecx, ebp
mov dword [esp + 0x30], ecx
mov ecx, ebx
lea edi, [esp + 0x30]
push edi
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov eax, dword [eax + 0xe]
mov edi, dword [0x77ff08]
add ebx, 0x14
cmp eax, 0x2710
push 0
jae 0x4f830b
mov ecx, dword [0x71be84]
push ecx
push 0
push 0xffffffffffffffff
jmp 0x4f8319
mov edx, dword [0x71be84]
push edx
push 0
push 0xff00ff00
push ebx
push ebp
push eax
push 0x704238
call fcn.005a30c0
add esp, 8
mov ecx, edi
push eax
call fcn.0041b610
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov esi, dword [esi + 0x4a8]
mov ebp, dword [esi + 0x3a]
mov edx, dword [esi + 0x32]
add eax, 0xfa
add ecx, 0x152
mov edi, eax
mov eax, dword [esi + 0x3e]
lea ebx, [ecx + 0x79]
mov ecx, dword [esi + 0x42]
add ecx, eax
add ecx, ebp
add ecx, edx
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
pop ebp
jg 0x4f8390
lea eax, [esp + 0x78]
push 0x708c90
push eax
call fcn.0065c60e
add esp, 8
jmp 0x4f83a3
push eax
lea ecx, [esp + 0x7c]
push 0x708c8c
push ecx
call fcn.0065c60e
add esp, 0xc
push 0
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x80]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x80], 0x3f4ccccd
mov dword [esp + 0x84], 0x3f4ccccd
call fcn.0065c790
add esp, 4
push eax
lea ecx, [esp + 0x88]
push ecx
push ebx
push edi
call fcn.005b3950
mov ecx, eax
call fcn.005b3420
pop edi
pop ebx
pop esi
add esp, 0x16c
ret