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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x4b539d
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.004b64d0
mov eax, dword [esp + 8]
test eax, eax
jne 0x4b4091
mov ecx, dword [esp + 0x14c]
jmp 0x4b4a29
mov dword [esp + 0x30], eax
lea ecx, [0x65ac00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004480c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.0048ac30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x4b4a0c
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x4b49ff
mov edx, dword [edx + 8]
cmp edx, 0x6b581726
ja 0x4b4597
cmp edx, 0x2069b53f
jbe 0x4b435e
cmp edx, 0x30c31d62
ja 0x4b424c
cmp edx, 0x20e38ee7
je 0x4b41ee
cmp edx, 0x26b80717
je 0x4b4185
cmp edx, 0x30c31d62
jne 0x4b4179
mov edx, dword [esp + 0x14c]
lea ebx, [0x651140]
cmp edx, ebx
jne 0x4b4a06
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x4b537e
mov edx, dword [esp + 0x14c]
jmp 0x4b4a06
mov ecx, dword [esp + 0x14c]
lea edx, [0x64b4a0]
cmp ecx, edx
jne 0x4b41e7
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
mov edx, ecx
jmp 0x4b4a06
mov edx, dword [esp + 0x14c]
lea ebx, [0x651e80]
cmp edx, ebx
jne 0x4b4a06
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x6c], ebp
mov ebx, dword [ebx]
mov dword [esp + 0x100], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x94]
jmp 0x4b5308
cmp edx, 0x382e7edf
jne 0x4b42b4
mov ecx, dword [esp + 0x14c]
lea edx, [0x651f40]
cmp ecx, edx
jne 0x4b4357
mov edx, dword [esp + 0x150]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
mov ebp, dword [esp + 0x30]
cmp ebx, ebp
jle 0x4b4281
mov eax, ebp
jmp 0x4b4285
mov eax, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x10c]
cmp edx, ebx
je 0x4b4a21
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0045f930
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14c]
jmp 0x4b4a21
cmp edx, 0x5fcadfef
jne 0x4b42ed
mov ecx, dword [esp + 0x14c]
lea edx, [0x64b4e0]
cmp ecx, edx
jne 0x4b4357
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
mov ebx, dword [esp + 0x150]
mov byte [ebx], dl
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
cmp edx, 0x6b581726
jne 0x4b4350
mov ecx, dword [esp + 0x14c]
lea edx, [0x64b460]
cmp ecx, edx
jne 0x4b4357
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
mov ecx, dword [esp + 0x14c]
mov edx, ecx
jmp 0x4b4a06
cmp edx, 0x1e2f74f8
jbe 0x4b44b8
cmp edx, 0x1f1d91d4
jne 0x4b43d0
mov edx, dword [esp + 0x14c]
lea ebx, [0x651ec0]
cmp edx, ebx
jne 0x4b4a06
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x64], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf8], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x9c]
jmp 0x4b5259
cmp edx, 0x1ffee651
je 0x4b444a
cmp edx, 0x2069b53f
jne 0x4b443e
mov edx, dword [esp + 0x14c]
lea ebx, [0x651f00]
cmp edx, ebx
jne 0x4b4a06
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x5c], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xa4]
jmp 0x4b51a7
mov edx, dword [esp + 0x14c]
jmp 0x4b4a06
mov ecx, dword [esp + 0x14c]
lea edx, [0x6484e0]
cmp ecx, edx
jne 0x4b44b1
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], eax
movss xmm0, dword [esp + 0x78]
mov eax, dword [esp + 0x150]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
mov edx, ecx
jmp 0x4b4a06
cmp edx, 0xc66cd3
jne 0x4b451f
mov ecx, dword [esp + 0x14c]
lea edx, [0x64dd20]
cmp ecx, edx
jne 0x4b4590
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
cmp edx, 0x1e2f74f8
jne 0x4b4589
mov ecx, dword [esp + 0x14c]
lea edx, [0x64dd60]
cmp ecx, edx
jne 0x4b4590
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
mov ecx, dword [esp + 0x14c]
mov edx, ecx
jmp 0x4b4a06
cmp edx, 0x88768e96
jbe 0x4b4805
cmp edx, 0xa066c615
jbe 0x4b46ea
cmp edx, 0xba56ad13
je 0x4b466e
cmp edx, 0xe781e5b1
jne 0x4b45f9
mov edx, dword [esp + 0x14c]
lea ebx, [0x64f000]
cmp edx, ebx
jne 0x4b45f2
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x4b5140
mov ecx, edx
jmp 0x4b49fb
cmp edx, 0xee92f42e
jne 0x4b4662
mov ecx, dword [esp + 0x14c]
lea edx, [0x64dce0]
cmp ecx, edx
jne 0x4b49fb
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
mov ecx, dword [esp + 0x14c]
jmp 0x4b49fb
mov ecx, dword [esp + 0x14c]
lea edx, [0x648520]
cmp ecx, edx
jne 0x4b49fb
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
movsd xmm0, qword [esp + 0x8c]
mov eax, dword [esp + 0x150]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
cmp edx, 0x9ad926a8
je 0x4b47d4
cmp edx, 0x9c373330
jne 0x4b475f
mov edx, dword [esp + 0x14c]
lea ebx, [0x64f940]
cmp edx, ebx
jne 0x4b4758
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x54], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xe8], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xac]
jmp 0x4b50ae
mov ecx, edx
jmp 0x4b49fb
cmp edx, 0xa066c615
jne 0x4b47c8
mov ecx, dword [esp + 0x14c]
lea edx, [0x64b420]
cmp ecx, edx
jne 0x4b49fb
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
mov ecx, dword [esp + 0x14c]
jmp 0x4b49fb
mov ecx, dword [esp + 0x14c]
lea edx, [0x64dda0]
cmp ecx, edx
jne 0x4b49fb
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
mov eax, dword [esp + 0x150]
mov byte [eax], dl
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
cmp edx, 0x734d2a16
ja 0x4b48c4
cmp edx, 0x6e0df0d1
je 0x4b488b
cmp edx, 0x734d2a16
jne 0x4b487f
mov edx, dword [esp + 0x14c]
lea ebx, [0x6510c0]
cmp edx, ebx
jne 0x4b49f9
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x68], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xfc], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xb4]
jmp 0x4b5000
mov edx, dword [esp + 0x14c]
jmp 0x4b49f9
mov ecx, dword [esp + 0x14c]
lea edx, [0x647020]
cmp ecx, edx
jne 0x4b48bd
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
test dl, dl
setne dl
mov ebx, dword [esp + 0x150]
mov byte [ebx], dl
mov eax, dword [esp + 0x30]
jmp 0x4b4a21
mov edx, ecx
jmp 0x4b49f9
cmp edx, 0x7ad3bff0
jne 0x4b492a
mov edx, dword [esp + 0x14c]
lea ebx, [0x64f900]
cmp edx, ebx
jne 0x4b49f9
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x58], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xec], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xbc]
jmp 0x4b4f4c
cmp edx, 0x8237d00c
jne 0x4b4990
mov edx, dword [esp + 0x14c]
lea ebx, [0x651080]
cmp edx, ebx
jne 0x4b49f9
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x70], ebp
mov ebx, dword [ebx]
mov dword [esp + 0x104], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc4]
jmp 0x4b4e9e
cmp edx, 0x88768e96
jne 0x4b49f2
mov edx, dword [esp + 0x14c]
lea ebx, [0x651100]
cmp edx, ebx
jne 0x4b49f9
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x60], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xcc]
jmp 0x4b4deb
mov edx, dword [esp + 0x14c]
mov ecx, edx
mov edx, ecx
jmp 0x4b4a06
mov edx, dword [esp + 0x14c]
mov ecx, edx
xor eax, eax
jmp 0x4b4a21
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
test eax, eax
jne 0x4b4d85
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x4b4abc
nop
movzx ebx, byte [0x8ae228]
test bl, bl
je 0x4b4a77
mov dword [0x8ae22c], ecx
mov ecx, dword [0x8d5630]
test ecx, ecx
jne 0x4b4a63
mov eax, dword [esp + 0x150]
mov dword [0x8ae230], eax
jmp 0x4b4a7e
lea edi, [0x8ae230]
mov eax, dword [esp + 0x150]
call fcn.0045efb0
jmp 0x4b4a7e
mov eax, dword [esp + 0x150]
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x4b4ab2
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4b4aae
or ebx, 0x80
mov ebp, eax
jmp 0x4b4ac9
mov ebp, eax
xor ebx, ebx
xor ecx, ecx
xor eax, eax
jmp 0x4b4ac9
mov ebp, dword [esp + 0x150]
xor ebx, ebx
xor ecx, ecx
xor eax, eax
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x4b4b33
cmp ebx, 0x17
je 0x4b4ae3
mov ebx, 0xffffffff
jmp 0x4b4b9d
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x80], esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004b54a0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x4b4b9d
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004b02a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x80], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b54a0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
test ebx, ebx
jge 0x4b4c6b
mov dword [esp + 0x110], edx
mov dword [esp + 0x114], ebp
mov eax, dword [esp + 0x110]
test eax, eax
je 0x4b4bc6
lea ecx, [0x702040]
jmp 0x4b4bca
xor ecx, ecx
xor eax, eax
mov ecx, dword [ecx + 0x80]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x69dcf5]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044b730
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
lea edx, [0x665440]
mov dword [esp], edx
call fcn.0040b430
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, dword [0x8d5630]
test eax, eax
jne 0x4b4c44
mov eax, dword [esp + 0xe4]
mov dword [edi], eax
jmp 0x4b4c50
mov eax, dword [esp + 0xe4]
call fcn.0045efb0
lea eax, [0x700a44]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], edi
add esp, 0x138
ret
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], ecx
lea eax, [0x65ac00]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004480c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0045f23a
mov eax, dword [esp + 0x144]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.0048ac30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
je 0x4b4d3b
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
lea eax, [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.004b59e0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov ebp, dword [esp + 0xf4]
lea esi, [ebp + edx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, edx
mov edx, dword [esp + 0x14c]
mov ebx, ebp
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x40]
cmp edx, ebp
jge 0x4b4e3f
shl edx, 3
cmp edi, edx
jb 0x4b4e56
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x60]
cmp edx, ebx
jb 0x4b4da2
jmp 0x4b4e4d
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
mov eax, edx
mov ecx, ebx
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
mov ebx, dword [esp + 0x104]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x50]
cmp edx, ebp
jge 0x4b4eee
shl edx, 1
cmp edi, edx
jb 0x4b4f05
mov ebx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x70]
cmp ecx, edx
jb 0x4b4e5f
jmp 0x4b4efc
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
mov eax, ecx
mov ecx, edx
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
mov ebx, dword [esp + 0xec]
movss dword [ebx + eax*4], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x38]
cmp edx, ebp
jge 0x4b4fa6
shl edx, 2
cmp edi, edx
jb 0x4b4fb9
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jb 0x4b4f0e
jmp 0x4b4fb4
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
mov ebx, dword [esp + 0xfc]
mov dword [ebx + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x48]
cmp edx, ebp
jge 0x4b5050
shl edx, 2
cmp edi, edx
jb 0x4b5067
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x68]
cmp ecx, edx
jb 0x4b4fc2
jmp 0x4b505e
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
mov eax, ecx
mov ecx, edx
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
mov ebx, dword [esp + 0xe8]
movsd qword [ebx + eax*8], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x34]
cmp edx, ebp
jge 0x4b5119
shl edx, 3
cmp edi, edx
jb 0x4b512c
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
movsd xmm0, qword [esp + 0x84]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jb 0x4b5070
jmp 0x4b5127
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
test dl, dl
setne dl
mov byte [ebx + eax], dl
inc eax
mov edx, edi
cmp eax, ebp
jge 0x4b5150
mov edi, edx
movzx edx, byte [eax + esi]
cmp eax, ecx
jb 0x4b5135
jmp 0x4b5159
mov ecx, edx
mov eax, ebp
jmp 0x4b4a21
call fcn.0045f030
mov ebp, dword [esp + 0xf0]
lea esi, [ebp + edx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, edx
mov edx, dword [esp + 0x14c]
mov ebx, ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x3c]
cmp edx, ebp
jge 0x4b51fb
shl edx, 3
cmp edi, edx
jb 0x4b5212
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
jb 0x4b515e
jmp 0x4b5209
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
mov eax, edx
mov ecx, ebx
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
mov ebx, dword [esp + 0xf8]
mov dword [ebx + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x44]
cmp edx, ebp
jge 0x4b52a9
shl edx, 2
cmp edi, edx
jb 0x4b52c0
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
cmp ecx, edx
jb 0x4b521b
jmp 0x4b52b7
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
mov eax, ecx
mov ecx, edx
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
mov ebx, dword [esp + 0x100]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x4c]
cmp edx, ebp
jge 0x4b5358
shl edx, 1
cmp edi, edx
jb 0x4b536f
mov ebx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x4b52c9
jmp 0x4b5366
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4b4a21
mov eax, ecx
mov ecx, edx
call fcn.0045f030
mov eax, edx
mov ecx, edi
call fcn.0045f090
mov byte [ebx + eax], dl
inc eax
mov edx, edi
cmp eax, ebp
jge 0x4b538e
mov edi, edx
movzx edx, byte [eax + esi]
cmp eax, ecx
jb 0x4b5378
jmp 0x4b5397
mov ecx, edx
mov eax, ebp
jmp 0x4b4a21
call fcn.0045f030
nop
call fcn.0045dba0
jmp fcn.004b4040