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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x144]
cmp eax, dword [ecx + 8]
jbe 0x4f7bf6
sub esp, 0x1c4
xor eax, eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
xor ebx, ebx
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e4], ebx
mov ebx, dword [esp + 0x1d8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
call fcn.004f9a00
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
cmp eax, 0
je 0x4f78e4
mov dword [esp], 0x5c2aa0
call fcn.0040fc90
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
xor ebp, ebp
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 1], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 2], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 3], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 4], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 5], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 6], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 7], al
xchg ebp, eax
xor ebx, ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
cmp ecx, 8
jle 0x4f78ad
mov dword [esp], 0x5c5920
mov eax, ecx
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, ecx
cdq
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043d560
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14c], ebx
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xbc], eax
xor ebx, ebx
cmp eax, ebx
jne 0x4f6916
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x1cc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1c8]
mov ebx, dword [ebx + 0x14]
call ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], eax
add esp, 0x1c4
ret
mov ecx, dword [eax + 8]
cmp ecx, 0x734d2a16
ja 0x4f715d
cmp ecx, 0x26b80717
ja 0x4f6e02
cmp ecx, 0x1f1d91d4
ja 0x4f6b32
cmp ecx, 0xc66cd3
jne 0x4f69a1
mov ebp, 0x5b77a0
cmp eax, ebp
jne 0x4f6b29
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f69a1
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebp, dword [ebp]
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4f68c2
cmp ecx, 0x1e2f74f8
jne 0x4f6a0c
mov ebp, 0x5b77e0
cmp eax, ebp
jne 0x4f6b20
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f6a0c
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4f68c2
cmp ecx, 0x1f1d91d4
jne 0x4f68c2
xor ebx, ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp], 0x5ba7c0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x12c]
mov dword [esp + 0xc], ebx
call fcn.0040d510
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f68c2
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x17c], ebx
xor eax, eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x174], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4f68c2
mov dword [esp + 0x60], ecx
mov ebp, dword [ecx]
mov dword [esp + 0x3c], eax
shl eax, 2
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4f6b19
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f6acd
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
mov ecx, dword [esp + 0x60]
add ecx, 4
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4f6a8e
call fcn.00429b80
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4f69bd
xor ebp, ebp
xor ebx, ebx
jmp 0x4f6959
mov dword [esp + 0x34], ecx
cmp ecx, 0x2069b53f
jne 0x4f6c65
xor ebx, ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp], 0x5ba800
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f6c65
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x164], ebx
xor ecx, ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x15c], edx
mov eax, edx
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
jge 0x4f68c2
mov dword [esp + 0x58], eax
mov esi, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov eax, ecx
shl eax, 3
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4f6c5e
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f6c0e
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], edi
mov dword [esp + 8], edi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
mov eax, dword [esp + 0x58]
add eax, 8
mov ecx, dword [esp + 0x3c]
inc ecx
jmp 0x4f6bca
call fcn.00429b80
ud2
cmp ecx, 0x20e38ee7
jne 0x4f6d8c
xor ebx, ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp], 0x5ba780
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xe4]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f6d8c
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x194], ebx
xor eax, eax
mov dword [esp + 0x190], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18c], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4f68c2
mov dword [esp + 0x68], ecx
movzx ebp, word [ecx]
mov dword [esp + 0x3c], eax
shl eax, 1
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4f6d85
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f6d38
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], bp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
mov ecx, dword [esp + 0x68]
add ecx, 2
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4f6cf9
call fcn.00429b80
ud2
cmp ecx, 0x26b80717
jne 0x4f68c2
mov ebp, 0x5b2120
cmp eax, ebp
jne 0x4f6dfc
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4f68c2
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, eax
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4f68c2
xor eax, eax
xor ecx, ecx
jmp 0x4f6da8
cmp ecx, 0x5fcadfef
ja 0x4f6f81
mov dword [esp + 0x34], ecx
cmp ecx, 0x30c31d62
jne 0x4f6eb9
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp], 0x5b9380
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xf0]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f6eb9
mov ecx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
xor eax, eax
cmp eax, esi
jge 0x4f6ead
movzx ebp, byte [ecx]
mov edx, ebp
mov ebp, dword [esp + 0x148]
cmp eax, ebp
jae 0x4f6eb2
mov ebp, dword [esp + 0x144]
add ebp, eax
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, esi
jl 0x4f6e8b
jmp 0x4f68c2
call fcn.00429b10
ud2
cmp ecx, 0x382e7edf
jne 0x4f6f46
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp], 0x5ba840
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x108]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f6f46
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x14c], ebx
jmp 0x4f68c2
cmp ecx, 0x5fcadfef
jne 0x4f68c2
mov ebp, 0x5b2160
cmp eax, ebp
jne 0x4f6f7b
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4f68c2
movzx ebp, byte [eax]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4f68c2
xor eax, eax
xor ecx, ecx
jmp 0x4f6f62
mov dword [esp + 0x34], ecx
cmp ecx, 0x663e425f
jne 0x4f6fdc
mov byte [esp + 0x23], 0
mov dword [esp], 0x5c5920
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x23]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f6fdc
movzx ebx, byte [esp + 0x23]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4f68c2
cmp ecx, 0x6b581726
jne 0x4f7040
mov ebp, 0x5b20e0
cmp eax, ebp
jne 0x4f7154
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f7040
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebp, dword [ebp]
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4f68c2
cmp ecx, 0x734d2a16
jne 0x4f68c2
xor ebx, ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp], 0x5b9300
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x114]
mov dword [esp + 0xc], ebx
call fcn.0040d510
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f68c2
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x188], ebx
xor eax, eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x180], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4f68c2
mov dword [esp + 0x64], ecx
mov ebp, dword [ecx]
mov dword [esp + 0x3c], eax
shl eax, 2
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4f714d
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f7101
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
mov ecx, dword [esp + 0x64]
add ecx, 4
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4f70c2
call fcn.00429b80
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4f6ff8
cmp ecx, 0xa066c615
ja 0x4f75ad
cmp ecx, 0x88768e96
ja 0x4f745f
mov dword [esp + 0x34], ecx
cmp ecx, 0x8237d00c
jne 0x4f72a2
xor ebx, ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp], 0x5b92c0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x120]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f72a2
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x1ac], ebx
xor eax, eax
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1a4], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4f68c2
mov dword [esp + 0x6c], ecx
movzx ebp, word [ecx]
mov dword [esp + 0x3c], eax
mov esi, ebp
shl eax, 1
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4f729b
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f724e
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], si
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
mov ecx, dword [esp + 0x6c]
add ecx, 2
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4f720d
call fcn.00429b80
ud2
cmp ecx, 0x86318d2e
jne 0x4f7342
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp], 0x5c58e0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x40]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f7342
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4f68c2
cmp ecx, 0x88768e96
jne 0x4f68c2
xor ebx, ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp], 0x5b9340
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xfc]
mov dword [esp + 0xc], ebx
call fcn.0040d510
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f68c2
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0x170], ebx
xor ecx, ecx
mov dword [esp + 0x16c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x168], edx
mov eax, edx
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
jge 0x4f68c2
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov eax, ecx
shl eax, 3
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4f7458
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f7408
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], edi
mov dword [esp + 8], edi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
mov eax, dword [esp + 0x5c]
add eax, 8
mov ecx, dword [esp + 0x3c]
inc ecx
jmp 0x4f73c4
call fcn.00429b80
ud2
mov dword [esp + 0x34], ecx
cmp ecx, 0x963f9bff
jne 0x4f7503
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp], 0x5c5220
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x48]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f7503
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4f68c2
cmp ecx, 0x9ad926a8
jne 0x4f7535
mov ebp, 0x5b7820
cmp eax, ebp
jne 0x4f75a4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f7535
movzx ebp, byte [ebp]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4f68c2
cmp ecx, 0xa066c615
jne 0x4f68c2
mov ebp, 0x5b20a0
cmp eax, ebp
jne 0x4f759e
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4f68c2
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebp, word [eax]
mov word [esp + 0x10], bp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4f68c2
xor eax, eax
xor ecx, ecx
jmp 0x4f7551
xor ebp, ebp
xor ebx, ebx
jmp 0x4f751f
cmp ecx, 0xd04ae83d
ja 0x4f7726
mov dword [esp + 0x34], ecx
cmp ecx, 0xbbad4102
jne 0x4f764d
mov dword [esp + 0x2c], 0
mov dword [esp], 0x5c51e0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f764d
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4f68c2
cmp ecx, 0xcc06c027
jne 0x4f76a4
mov byte [esp + 0x22], 0
mov dword [esp], 0x5c5260
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x22]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f76a4
movzx ebx, byte [esp + 0x22]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4f68c2
cmp ecx, 0xd04ae83d
jne 0x4f68c2
mov dword [esp + 0x28], 0
mov dword [esp], 0x5c58a0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x28]
mov dword [esp + 0xc], ebx
call fcn.0040d510
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f68c2
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4f68c2
mov dword [esp + 0x34], ecx
cmp ecx, 0xecd580ce
jne 0x4f77bb
mov word [esp + 0x26], 0
mov dword [esp], 0x5c51a0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x26]
mov dword [esp + 0xc], ebx
call fcn.0040d510
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f77bb
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebx, word [esp + 0x26]
mov word [esp + 0x10], bx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4f68c2
cmp ecx, 0xee92f42e
jne 0x4f7821
mov ebp, 0x5b7760
cmp eax, ebp
jne 0x4f78a4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f7821
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebp, word [ebp]
mov word [esp + 0x10], bp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4f68c2
cmp ecx, 0xeff20ea0
jne 0x4f68c2
mov word [esp + 0x24], 0
mov dword [esp], 0x5c5860
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x24]
mov dword [esp + 0xc], ebx
call fcn.0040d510
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f68c2
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebx, word [esp + 0x24]
mov word [esp + 0x10], bx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4f68c2
xor ebp, ebp
xor ebx, ebx
jmp 0x4f77d7
cmp ecx, 8
ja 0x4f78dd
mov ebx, dword [esp + 0x70]
cmp ebx, 0
je 0x4f78d9
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], 8
mov dword [esp + 0x144], ebx
jmp 0x4f68a0
mov dword [ebx], eax
jmp 0x4f78bb
call fcn.00429b80
ud2
mov ebx, dword [esp + 0x1d8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
call fcn.0053a070
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x150], edx
mov dword [esp], edx
mov dword [esp + 0x154], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 8], eax
call fcn.00539fe0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd8], edx
mov dword [esp], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 8], eax
call fcn.004f7c00
mov ecx, dword [esp + 0xc]
cmp ecx, 0
jge 0x4f7aca
mov ebx, dword [esp + 0x1d8]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 0x98], ebx
xor ebx, ebx
xor ebx, ebx
lea ebx, [esp + 0x94]
cmp ebx, 0
je 0x4f7ac3
mov eax, dword [ebx]
mov ebp, dword [ebx + 4]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], eax
xor ebx, ebx
xor ebp, ebp
cmp eax, ebp
jne 0x4f7ab7
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp], ecx
mov dword [esp + 0xb4], eax
mov ebx, dword [eax + 0x84]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x5fde74
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x10], eax
call fcn.004411a0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x90], eax
xor ebx, ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp], 0x5cdc40
call fcn.0040fc90
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov ebp, dword [esp + 0x90]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x8c]
cmp byte [0x6dbe18], 0
jne 0x4f7aa5
mov dword [eax], ebp
mov edx, 0x6b29b0
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], eax
add esp, 0x1c4
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.00410660
mov eax, dword [esp + 0x54]
jmp 0x4f7a8b
mov ecx, eax
mov eax, 0x6b6ee0
jmp 0x4f79c0
mov dword [ebx], eax
jmp 0x4f799d
mov dword [esp], 0x5c5920
mov eax, ecx
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, ecx
cdq
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043d560
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
lea eax, [esp + 0x1b0]
mov ebp, dword [esp + 0x1d0]
mov dword [eax], ebp
mov ebp, dword [esp + 0x1d4]
mov dword [eax + 4], ebp
mov dword [esp + 0x138], esi
mov dword [eax + 8], esi
mov dword [esp + 0x13c], edx
mov dword [eax + 0xc], edx
mov dword [esp + 0x140], ecx
mov dword [eax + 0x10], ecx
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x50]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0xc], ebx
call fcn.004f8ef0
mov ebx, dword [esp + 0x138]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x1cc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1c8]
mov ebx, dword [ebx + 0x14]
call ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x1e0], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x1e4], ebx
add esp, 0x1c4
ret
call fcn.00452240
jmp fcn.004f66f0