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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x4b1104
sub esp, 0xd0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xd4]
cmp dword [eax + 0xc], 1
jle 0x4b04ee
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x4b1110]
mov dword [esp + 0x74], eax
lea eax, [esp + 0xdc]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x34]
mov dword [esp], eax
call fcn.004311d0
test eax, eax
jne 0x4b0ac9
mov eax, dword [esp + 0xd4]
movzx ecx, byte [eax + 1]
test cl, cl
jne 0x4b0508
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x4b0535
movzx ecx, byte [ecx]
test cl, cl
je 0x4b0535
mov ecx, dword [eax + 4]
cmp dword [eax + 8], 7
jne 0x4b052e
cmp dword [ecx], 0x646e6977
jne 0x4b052e
cmp word [ecx + 4], 0x776f
jne 0x4b052e
cmp byte [ecx + 6], 0x73
jne 0x4b052e
mov ecx, 4
jmp 0x4b0537
mov ecx, 1
jmp 0x4b0537
xor ecx, ecx
movzx edx, byte [eax]
test dl, dl
jne 0x4b059b
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
cmp ebx, 7
jne 0x4b0584
cmp dword [edx], 0x72646e61
jne 0x4b0569
cmp word [edx + 4], 0x696f
jne 0x4b0564
cmp byte [edx + 6], 0x64
je 0x4b059b
cmp ebx, 7
jmp 0x4b056c
cmp ebx, 7
jmp 0x4b056c
cmp ebx, 7
jne 0x4b0584
cmp dword [edx], 0x646e6977
jne 0x4b0584
cmp word [edx + 4], 0x776f
jne 0x4b0584
cmp byte [edx + 6], 0x73
je 0x4b059b
mov dword [esp + 0x24], ecx
cmp ebx, 5
jne 0x4b05b9
cmp dword [edx], 0x6e616c70
jne 0x4b05b9
cmp byte [edx + 4], 0x39
jne 0x4b05b9
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], 0
call fcn.00431760
add esp, 0xd0
ret
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x5c
call fcn.004026b0
cmp dword [esp + 0xc], 0xffffffff
jne 0x4b0605
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x25
call fcn.004026b0
cmp dword [esp + 0xc], 0xffffffff
je 0x4b0627
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0
call fcn.00431760
add esp, 0xd0
ret
call fcn.004b7490
mov eax, dword [esp]
mov dword [esp + 0x68], eax
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4b0641
xor ecx, ecx
jmp 0x4b066f
mov eax, dword [0x6132e8]
mov ebx, dword [0x6132ec]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.004977a0
movzx eax, byte [esp + 0x10]
xor eax, 1
mov ecx, eax
mov eax, dword [esp + 0x68]
test cl, cl
je 0x4b06aa
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, dword [0x6132f0]
mov ebp, dword [0x6132f4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.004977a0
movzx eax, byte [esp + 0x10]
test al, al
je 0x4b0aa7
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + 0x29]
test cl, cl
jne 0x4b0a89
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx + 4]
cmp dword [ecx + 8], 7
jne 0x4b08b2
cmp dword [edx], 0x6e65706f
jne 0x4b08b2
cmp word [edx + 4], 0x7362
jne 0x4b08b2
cmp byte [edx + 6], 0x64
jne 0x4b08b2
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, dword [0x6132e8]
mov ebp, dword [0x6132ec]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.004977a0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4b0890
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
test edx, edx
je 0x4b0872
cmp edx, 2
jg 0x4b0854
mov ebx, dword [ecx]
cmp dword [ecx + 4], 4
jne 0x4b0836
cmp dword [ebx], 0x646e6962
jne 0x4b07be
cmp edx, 2
jne 0x4b07a0
mov edx, dword [ecx + 8]
cmp dword [ecx + 0xc], 4
jne 0x4b0782
cmp dword [edx], 0x656c6966
jne 0x4b0782
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov dword [esp + 0xe4], 4
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
cmp dword [ebx], 0x656c6966
jne 0x4b0836
cmp edx, 2
jne 0x4b0818
mov edx, dword [ecx + 8]
cmp dword [ecx + 0xc], 4
jne 0x4b07fa
cmp dword [edx], 0x646e6962
jne 0x4b07fa
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov dword [esp + 0xe4], 3
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov dword [esp + 0xe4], 3
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xdc]
cmp edx, 1
jl 0x4b08f3
lea eax, [edx + ebx - 1]
mov dword [esp], eax
lea eax, [0x53db78]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.00402670
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b08f3
dec dword [esp + 0xe0]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x50a906]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 6
call fcn.004c66e0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4b0a67
call fcn.004c4bb0
mov eax, dword [esp]
mov dword [esp + 0x5c], eax
mov ecx, dword [eax + 0x1c]
lea edx, [0x4f3640]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x50a7e5]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
call fcn.0040e080
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx + 0x14]
mov ebp, dword [edx + 0x18]
mov esi, dword [0x6132e8]
mov edi, dword [0x6132ec]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.004977a0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4b09fd
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4b09b4
mov ecx, dword [esp + 0x18]
jmp 0x4b09be
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4b09fd
test eax, eax
jne 0x4b09db
mov eax, dword [esp + 0x58]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor edx, edx
mov dword [esp + 0x60], edx
xor edx, edx
jmp 0x4b0afb
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 4]
cmp dword [eax + 8], 7
jne 0x4b0a45
cmp dword [ecx], 0x616c6f73
jne 0x4b0a45
cmp word [ecx + 4], 0x6972
jne 0x4b0a45
cmp byte [ecx + 6], 0x73
jne 0x4b0a45
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov dword [esp + 0xe4], 1
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
call fcn.00431760
add esp, 0xd0
ret
mov esi, dword [esp + 0x70]
add esi, 0x14
mov edi, dword [esp + 0x30]
inc edi
mov dword [esp + 0x60], ebp
mov ebp, ecx
mov ecx, dword [esp + 0x18]
mov ecx, edx
mov edx, edi
mov edi, ebx
mov ebx, eax
mov eax, esi
mov esi, ecx
mov ecx, dword [esp + 0x18]
cmp edx, ecx
jge 0x4b0ce7
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edx
xchg ebp, eax
mov byte [esp + 0x17], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x16], al
xchg esi, eax
mov byte [esp + 0x15], bl
mov dword [esp + 0x70], eax
lea edi, [esp + 0x80]
mov esi, eax
call fcn.0045d9ee
mov ecx, dword [esp + 0x80]
cmp dword [esp + 0x84], 0xa
jne 0x4b0b77
mov dword [esp], ecx
lea eax, [0x50b6fc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00402670
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4b0c24
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x30]
movzx ebx, byte [esp + 0x15]
movzx ebp, byte [esp + 0x17]
mov ecx, dword [esp + 0x80]
mov esi, edx
mov edx, dword [esp + 0x84]
cmp edx, 5
jne 0x4b0b9a
cmp dword [ecx], 0x656c6966
jne 0x4b0b9a
cmp byte [ecx + 4], 0x73
je 0x4b0bac
cmp edx, 3
jne 0x4b0bd8
cmp word [ecx], 0x6e64
jne 0x4b0bd8
cmp byte [ecx + 2], 0x73
jne 0x4b0bd8
lea edi, [esp + 0x94]
lea esi, [esp + 0x80]
call fcn.0045d9ee
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x2c], edx
xor esi, esi
jmp 0x4b0f00
cmp edx, 4
jl 0x4b0cc5
mov dword [esp], ecx
lea eax, [0x50a680]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.00402670
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b0cc5
mov eax, 1
movzx ecx, byte [esp + 0x17]
movzx edx, byte [esp + 0x16]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x60]
jmp 0x4b0ad5
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b13e0
movzx eax, byte [esp + 8]
test al, al
jne 0x4b0df9
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
nop
cmp eax, 8
jne 0x4b0c66
xor edx, edx
jmp 0x4b0e1c
nop
cmp eax, 9
jne 0x4b0c73
xor edx, edx
jmp 0x4b0ead
mov edx, dword [0x60e940]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov ebx, dword [esp]
test eax, eax
jne 0x4b0e54
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xdc]
cmp ecx, eax
jne 0x4b0ca9
xor ecx, ecx
jmp 0x4b0e7b
movzx eax, byte [esp + 0x15]
movzx ecx, byte [esp + 0x17]
movzx edx, byte [esp + 0x16]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x60]
jmp 0x4b0ad5
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
test bl, bl
je 0x4b0d1c
mov eax, dword [esp + 0xd4]
movzx eax, byte [eax + 3]
test al, al
je 0x4b0d1c
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x4b0daf
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4b0d87
cmp edi, 5
jne 0x4b0d65
mov eax, dword [esp + 0x60]
cmp dword [eax], 0x656c6966
jne 0x4b0d65
cmp byte [eax + 4], 0x73
jne 0x4b0d65
mov dword [esp + 0xe4], 1
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov dword [esp + 0xe4], 2
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x4b0daf
mov dword [esp + 0xe4], 3
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4b0dd7
mov dword [esp + 0xe4], 4
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
inc edx
cmp edx, eax
jge 0x4b0df9
movzx ebx, byte [edx + ecx]
lea ebp, [ebx - 0x41]
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
ja 0x4b0e31
add ebx, 0x20
lea ebp, [0x50af63]
movzx esi, byte [ebp + edx]
lea edi, [esi - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x4b0e49
add esi, 0x20
xchg esi, eax
cmp bl, al
xchg esi, eax
je 0x4b0e1b
jmp 0x4b0c66
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
inc ecx
mov edx, esi
mov ebx, edi
cmp ecx, eax
jge 0x4b0e54
movzx ebp, byte [ecx + edx]
mov esi, edx
lea edx, [ebp - 0x41]
cmp dl, 0x19
ja 0x4b0e90
add ebp, 0x20
movzx edx, byte [ecx + ebx]
mov edi, ebx
lea ebx, [edx - 0x41]
cmp bl, 0x19
ja 0x4b0ea1
add edx, 0x20
xchg ebp, eax
cmp al, dl
xchg ebp, eax
je 0x4b0e76
jmp 0x4b0ca9
inc edx
cmp edx, eax
jge 0x4b0df9
movzx ebx, byte [edx + ecx]
lea ebp, [ebx - 0x41]
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
ja 0x4b0ec6
add ebx, 0x20
lea ebp, [0x50b298]
movzx esi, byte [ebp + edx]
lea edi, [esi - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x4b0ede
add esi, 0x20
xchg esi, eax
cmp bl, al
xchg esi, eax
je 0x4b0eac
jmp 0x4b0c73
mov eax, dword [esp + 0x6c]
lea ecx, [eax + 0x14]
lea eax, [ebp + 1]
mov ebx, edi
movzx ebp, byte [esp + 0x17]
mov esi, eax
mov eax, dword [esp + 0x70]
cmp esi, edx
jge 0x4b109f
mov dword [esp + 0x1c], esi
mov dword [esp + 0x6c], ecx
lea edi, [esp + 0xa8]
mov esi, ecx
call fcn.0045d9ee
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x28], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0xa8]
call fcn.0045d9ee
movzx ecx, byte [esp + 0xbc]
test cl, cl
je 0x4b0f57
mov ebp, dword [esp + 0x1c]
mov esi, eax
mov edi, ebx
xor eax, eax
jmp 0x4b1075
mov ecx, dword [esp + 0xc0]
mov esi, eax
mov eax, dword [esp + 0xc4]
cmp eax, 7
jne 0x4b0fb2
cmp dword [ecx], 0x63637573
jne 0x4b0f8f
cmp word [ecx + 4], 0x7365
jne 0x4b0f8f
cmp byte [ecx + 6], 0x73
jne 0x4b0f8f
mov eax, 6
lea ecx, [0x50aa6e]
jmp 0x4b0ff0
cmp dword [ecx], 0x76616e75
jne 0x4b106d
cmp word [ecx + 4], 0x6961
jne 0x4b106d
cmp byte [ecx + 6], 0x6c
je 0x4b0fe5
jmp 0x4b106d
cmp eax, 8
jne 0x4b106d
cmp dword [ecx], 0x66746f6e
jne 0x4b0fcc
cmp dword [ecx + 4], 0x646e756f
je 0x4b0fe5
cmp dword [ecx], 0x61797274
jne 0x4b106d
cmp dword [ecx + 4], 0x6e696167
jne 0x4b106d
mov eax, 8
lea ecx, [0x50af7b]
mov edi, ebx
mov ebx, dword [esp + 0x28]
dec ebx
mov ebp, dword [esp + 0x1c]
cmp ebp, ebx
jne 0x4b1027
mov ebx, dword [esp + 0xc8]
cmp dword [esp + 0xcc], 6
jne 0x4b1027
cmp dword [ebx], 0x75746572
jne 0x4b1027
cmp word [ebx + 4], 0x6e72
jne 0x4b1027
mov eax, 1
jmp 0x4b1075
mov dword [esp + 0x64], ecx
mov ebx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
cmp eax, ebx
je 0x4b1041
xor eax, eax
jmp 0x4b1075
mov dword [esp], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00402670
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x70]
movzx edi, byte [esp + 0x15]
jmp 0x4b1075
mov ebp, dword [esp + 0x1c]
mov edi, ebx
xor eax, eax
test al, al
jne 0x4b0ee9
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00431760
add esp, 0xd0
ret
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
cmp edx, 5
jne 0x4b10c7
cmp dword [ecx], 0x656c6966
jne 0x4b10c7
cmp byte [ecx + 4], 0x73
jne 0x4b10c7
mov esi, 1
jmp 0x4b10e3
cmp edx, 3
jne 0x4b10de
cmp word [ecx], 0x6e64
jne 0x4b10de
cmp byte [ecx + 2], 0x73
jne 0x4b10de
mov ebp, 1
movzx esi, byte [esp + 0x16]
mov edi, eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4b10f3
mov edx, eax
mov ecx, dword [esp + 0x60]
mov eax, ebx
mov ebx, edx
mov edx, esi
mov esi, ecx
mov ecx, ebp
mov ebp, esi
jmp 0x4b0ad5
call fcn.0045c000
jmp fcn.004b0450