Function at 0x4f3110
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 0x4f4616
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.004f6420
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
cmp eax, 0
je 0x4f4304
mov dword [esp], 0x5c1360
call fcn.0040e920
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 0x4f42cd
mov dword [esp], 0x5c41e0
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.0043c1f0
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 0x4f3336
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 0x4f3b7d
cmp ecx, 0x26b80717
ja 0x4f3822
cmp ecx, 0x1f1d91d4
ja 0x4f3552
cmp ecx, 0xc66cd3
jne 0x4f33c1
mov ebp, 0x5b60e0
cmp eax, ebp
jne 0x4f3549
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f33c1
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 0x4f32e2
cmp ecx, 0x1e2f74f8
jne 0x4f342c
mov ebp, 0x5b6120
cmp eax, ebp
jne 0x4f3540
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f342c
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 0x4f32e2
cmp ecx, 0x1f1d91d4
jne 0x4f32e2
xor ebx, ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp], 0x5b9100
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x12c]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f32e2
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 0x4f32e2
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 0x4f3539
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f34ed
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 0x4f34ae
call fcn.00428810
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4f33dd
xor ebp, ebp
xor ebx, ebx
jmp 0x4f3379
mov dword [esp + 0x34], ecx
cmp ecx, 0x2069b53f
jne 0x4f3685
xor ebx, ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp], 0x5b9140
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f3685
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 0x4f32e2
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 0x4f367e
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f362e
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 0x4f35ea
call fcn.00428810
ud2
cmp ecx, 0x20e38ee7
jne 0x4f37ac
xor ebx, ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp], 0x5b90c0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xe4]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f37ac
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 0x4f32e2
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 0x4f37a5
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f3758
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 0x4f3719
call fcn.00428810
ud2
cmp ecx, 0x26b80717
jne 0x4f32e2
mov ebp, 0x5b0ae0
cmp eax, ebp
jne 0x4f381c
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4f32e2
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 0x4f32e2
xor eax, eax
xor ecx, ecx
jmp 0x4f37c8
cmp ecx, 0x5fcadfef
ja 0x4f39a1
mov dword [esp + 0x34], ecx
cmp ecx, 0x30c31d62
jne 0x4f38d9
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp], 0x5b7cc0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xf0]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f38d9
mov ecx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
xor eax, eax
cmp eax, esi
jge 0x4f38cd
movzx ebp, byte [ecx]
mov edx, ebp
mov ebp, dword [esp + 0x148]
cmp eax, ebp
jae 0x4f38d2
mov ebp, dword [esp + 0x144]
add ebp, eax
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, esi
jl 0x4f38ab
jmp 0x4f32e2
call fcn.004287a0
ud2
cmp ecx, 0x382e7edf
jne 0x4f3966
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp], 0x5b9180
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x108]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f3966
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 0x4f32e2
cmp ecx, 0x5fcadfef
jne 0x4f32e2
mov ebp, 0x5b0b20
cmp eax, ebp
jne 0x4f399b
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4f32e2
movzx ebp, byte [eax]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4f32e2
xor eax, eax
xor ecx, ecx
jmp 0x4f3982
mov dword [esp + 0x34], ecx
cmp ecx, 0x663e425f
jne 0x4f39fc
mov byte [esp + 0x23], 0
mov dword [esp], 0x5c41e0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x23]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f39fc
movzx ebx, byte [esp + 0x23]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4f32e2
cmp ecx, 0x6b581726
jne 0x4f3a60
mov ebp, 0x5b0aa0
cmp eax, ebp
jne 0x4f3b74
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f3a60
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 0x4f32e2
cmp ecx, 0x734d2a16
jne 0x4f32e2
xor ebx, ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp], 0x5b7c40
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x114]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f32e2
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 0x4f32e2
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 0x4f3b6d
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f3b21
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 0x4f3ae2
call fcn.00428810
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4f3a18
cmp ecx, 0xa066c615
ja 0x4f3fcd
cmp ecx, 0x88768e96
ja 0x4f3e7f
mov dword [esp + 0x34], ecx
cmp ecx, 0x8237d00c
jne 0x4f3cc2
xor ebx, ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp], 0x5b7c00
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x120]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f3cc2
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 0x4f32e2
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 0x4f3cbb
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f3c6e
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 0x4f3c2d
call fcn.00428810
ud2
cmp ecx, 0x86318d2e
jne 0x4f3d62
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp], 0x5c41a0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x40]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f3d62
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 0x4f32e2
cmp ecx, 0x88768e96
jne 0x4f32e2
xor ebx, ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp], 0x5b7c80
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xfc]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f32e2
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 0x4f32e2
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 0x4f3e78
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4f3e28
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 0x4f3de4
call fcn.00428810
ud2
mov dword [esp + 0x34], ecx
cmp ecx, 0x963f9bff
jne 0x4f3f23
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp], 0x5c3ae0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x48]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f3f23
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 0x4f32e2
cmp ecx, 0x9ad926a8
jne 0x4f3f55
mov ebp, 0x5b6160
cmp eax, ebp
jne 0x4f3fc4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f3f55
movzx ebp, byte [ebp]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4f32e2
cmp ecx, 0xa066c615
jne 0x4f32e2
mov ebp, 0x5b0a60
cmp eax, ebp
jne 0x4f3fbe
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4f32e2
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 0x4f32e2
xor eax, eax
xor ecx, ecx
jmp 0x4f3f71
xor ebp, ebp
xor ebx, ebx
jmp 0x4f3f3f
cmp ecx, 0xd04ae83d
ja 0x4f4146
mov dword [esp + 0x34], ecx
cmp ecx, 0xbbad4102
jne 0x4f406d
mov dword [esp + 0x2c], 0
mov dword [esp], 0x5c3aa0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f406d
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 0x4f32e2
cmp ecx, 0xcc06c027
jne 0x4f40c4
mov byte [esp + 0x22], 0
mov dword [esp], 0x5c3b20
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x22]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f40c4
movzx ebx, byte [esp + 0x22]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4f32e2
cmp ecx, 0xd04ae83d
jne 0x4f32e2
mov dword [esp + 0x28], 0
mov dword [esp], 0x5c4160
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x28]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f32e2
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 0x4f32e2
mov dword [esp + 0x34], ecx
cmp ecx, 0xecd580ce
jne 0x4f41db
mov word [esp + 0x26], 0
mov dword [esp], 0x5c3a60
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x26]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f41db
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 0x4f32e2
cmp ecx, 0xee92f42e
jne 0x4f4241
mov ebp, 0x5b60a0
cmp eax, ebp
jne 0x4f42c4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4f4241
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 0x4f32e2
cmp ecx, 0xeff20ea0
jne 0x4f32e2
mov word [esp + 0x24], 0
mov dword [esp], 0x5c4120
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x24]
mov dword [esp + 0xc], ebx
call fcn.0040c1a0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f32e2
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 0x4f32e2
xor ebp, ebp
xor ebx, ebx
jmp 0x4f41f7
cmp ecx, 8
ja 0x4f42fd
mov ebx, dword [esp + 0x70]
cmp ebx, 0
je 0x4f42f9
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], 8
mov dword [esp + 0x144], ebx
jmp 0x4f32c0
mov dword [ebx], eax
jmp 0x4f42db
call fcn.00428810
ud2
mov ebx, dword [esp + 0x1d8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
call fcn.00538d00
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.00538c70
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.004f4620
mov ecx, dword [esp + 0xc]
cmp ecx, 0
jge 0x4f44ea
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 0x4f44e3
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 0x4f44d7
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, 0x5fc55c
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.0043fe30
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], 0x5cc500
call fcn.0040e920
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 [0x6d9e18], 0
jne 0x4f44c5
mov dword [eax], ebp
mov edx, 0x6b09b0
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.0040f2f0
mov eax, dword [esp + 0x54]
jmp 0x4f44ab
mov ecx, eax
mov eax, 0x6b4ee0
jmp 0x4f43e0
mov dword [ebx], eax
jmp 0x4f43bd
mov dword [esp], 0x5c41e0
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.0043c1f0
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.004f5910
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.00450ed0
jmp fcn.004f3110