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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4b2939
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 8]
movzx ebx, byte [eax + 0x4a]
nop
mov ebp, dword [edx]
mov ecx, ebx
mov ebx, dword [esp + 0x80]
cmp dword [edx + 4], ebx
jbe 0x4b2932
mov byte [esp + 0x23], cl
lea edx, [ebx + ebx*2]
shl edx, 3
movzx edx, byte [ebp + edx]
cmp dl, 5
je 0x4b2893
nop
mov edx, dword [esp + 0x74]
mov ebp, dword [edx]
inc ebp
imul ebp, ebx
mov esi, eax
mov eax, dword [esp + 0x84]
add ebp, eax
mov dword [esp + 0x44], ebp
mov edi, eax
mov eax, dword [edx + 0x28]
shr ebp, 5
cmp dword [edx + 0x2c], ebp
jbe 0x4b292b
mov ebx, dword [eax + ebp*4]
mov ecx, dword [esp + 0x44]
mov edx, 1
shl edx, cl
test ebx, edx
je 0x4b2884
xor eax, eax
test al, al
je 0x4b287b
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
lea ebp, [ebx + 1]
cmp ebp, ecx
ja 0x4b281b
lea ecx, [ebx + 1]
mov dword [eax + 0x20], ecx
lea ecx, [ebx + ebx*2]
mov ebx, dword [esp + 0x80]
mov dword [edx + ecx*4], ebx
lea ebx, [edx + ecx*4]
mov byte [ebx + 4], 0
mov dword [edx + ecx*4 + 8], edi
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x4b2091
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
movzx edi, byte [esp + 0x22]
mov edx, dword [esp + 0x50]
mov ebp, ecx
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x3c], esi
movzx ebx, byte [esp + 0x22]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 8]
mov ebp, dword [edx]
mov eax, dword [esp + 0x3c]
cmp dword [edx + 4], eax
jbe 0x4b291d
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x22], bl
lea edx, [eax + eax*2]
lea ebp, [ebp + edx*8]
lea edi, [esp + 0x54]
mov esi, ebp
call fcn.0044af94
movzx ecx, byte [esp + 0x54]
cmp cl, 4
ja 0x4b268d
shl edx, 3
cmp cl, 1
ja 0x4b242b
test cl, cl
jne 0x4b21c4
test bl, bl
je 0x4b20f5
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
xor edx, edx
nop
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx]
inc ebp
imul ebp, eax
add ebp, ecx
mov esi, eax
mov eax, dword [ebx + 0x28]
mov edi, ebp
shr ebp, 5
cmp dword [ebx + 0x2c], ebp
jbe 0x4b2924
mov dword [esp + 0x28], ecx
mov byte [esp + 0x22], dl
mov ebx, dword [eax + ebp*4]
mov ecx, edi
mov edx, 1
shl edx, cl
test ebx, edx
je 0x4b20e6
xor eax, eax
test al, al
jne 0x4b1f9f
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov eax, ebx
mov ecx, ebp
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x1c]
test ebx, ebx
jle 0x4b27ee
mov edi, edx
lea edx, [ebx - 1]
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x44], ebx
mov ecx, dword [ebp + ebx*4 - 0xc]
mov dword [esp + 0x38], ecx
shl ebx, 2
mov ecx, dword [esp + 0x44]
mov ecx, dword [ebp + ecx*4 - 4]
movzx ebx, byte [ebx + ebp - 8]
mov dword [eax + 0x20], edx
lea edx, [eax + 0x1c]
mov dword [esp + 0x50], edx
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
jmp 0x4b1fd3
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x4b206d
mov ebp, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [ebp + 8]
nop
mov esi, ebx
mov ebx, dword [ebp]
cmp dword [ebp + 4], eax
jbe 0x4b28e2
movzx edx, byte [edx + ebx]
cmp dl, 5
je 0x4b21ba
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x20]
mov ebp, dword [edx + 0x1c]
mov edi, eax
mov eax, dword [edx + 0x24]
lea edx, [ebx + 1]
cmp edx, eax
ja 0x4b215e
lea eax, [ebx + 1]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x20], eax
lea eax, [ebx + ebx*2]
mov dword [ebp + eax*4], edi
lea ebx, [ebp + eax*4]
mov byte [ebx + 4], 1
mov ebx, dword [esp + 0x2c]
mov dword [ebp + eax*4 + 8], ebx
mov eax, dword [esp + 0x58]
mov ecx, ebx
mov edx, esi
jmp 0x4b2033
lea ecx, [0x4ddd20]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4b21af
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x3c]
mov ebx, ecx
mov ebp, eax
mov ecx, dword [esp + 0x70]
jmp 0x4b2130
mov edi, dword [esp + 0x50]
call fcn.0044a9c0
jmp 0x4b219c
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x2c]
jmp 0x4b2151
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov eax, dword [esp + 0x58]
cmp eax, ebp
jae 0x4b28db
mov esi, ebx
lea ebx, [eax + eax*2]
shl ebx, 3
movzx ebx, byte [ebx + edx]
mov edi, eax
lea eax, [ebx - 7]
cmp al, 3
ja 0x4b231e
nop
mov eax, dword [esp + 0x5c]
cmp eax, ebp
jae 0x4b28d4
mov dword [esp + 0x34], eax
lea ebx, [eax + eax*2]
shl ebx, 3
movzx edx, byte [ebx + edx]
cmp dl, 5
je 0x4b2313
nop
mov edx, dword [esp + 0x74]
mov ebx, dword [edx]
inc ebx
imul ebx, eax
mov ebp, dword [esp + 0x2c]
add ebx, ebp
mov dword [esp + 0x44], ebx
mov edi, ebp
mov ebp, dword [edx + 0x28]
shr ebx, 5
cmp dword [edx + 0x2c], ebx
jbe 0x4b28cd
mov eax, dword [ebp + ebx*4]
mov ecx, dword [esp + 0x44]
mov edx, 1
shl edx, cl
test eax, edx
je 0x4b2303
xor eax, eax
test al, al
je 0x4b22fd
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x1c]
mov ecx, eax
lea eax, [edx + 1]
cmp eax, ebx
ja 0x4b22a3
lea eax, [edx + 1]
mov dword [ecx + 0x20], eax
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x34]
mov dword [ebp + eax*4], edx
lea edx, [ebp + eax*4]
mov byte [edx + 4], 0
mov dword [ebp + eax*4 + 8], edi
mov eax, dword [esp + 0x5c]
mov ebx, dword [ecx]
mov ecx, ebx
mov edx, esi
jmp 0x4b2033
lea ecx, [0x4ddd20]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4b22f2
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x2c]
mov edx, ecx
mov ebp, eax
mov ecx, ebx
jmp 0x4b2277
mov edi, dword [esp + 0x50]
call fcn.0044a9c0
jmp 0x4b22e1
mov ecx, dword [esp + 0x74]
jmp 0x4b2294
or edx, eax
mov dword [ebp + ebx*4], edx
mov eax, 1
jmp 0x4b2259
mov edi, dword [esp + 0x2c]
xor eax, eax
jmp 0x4b2259
nop
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
mov dword [esp + 0x30], edx
cmp bl, 5
je 0x4b2424
nop
lea ebx, [edx + 1]
imul ebx, edi
add ebx, edx
mov dword [esp + 0x44], ebx
mov ebp, dword [eax + 0x28]
shr ebx, 5
cmp dword [eax + 0x2c], ebx
jbe 0x4b28c6
mov edx, dword [ebp + ebx*4]
mov ecx, dword [esp + 0x44]
mov eax, 1
shl eax, cl
test edx, eax
je 0x4b2414
xor eax, eax
test al, al
je 0x4b240e
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x20]
mov ecx, eax
lea eax, [ebp + 1]
cmp eax, ebx
ja 0x4b23b0
lea eax, [ebp + 1]
mov dword [ecx + 0x20], eax
lea eax, [ebp + ebp*2]
mov dword [edx + eax*4], edi
lea ebx, [edx + eax*4]
mov byte [ebx + 4], 0
mov ebx, dword [esp + 0x30]
mov dword [edx + eax*4 + 8], ebx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
mov edx, esi
jmp 0x4b2033
mov dword [esp + 0x40], edi
lea ecx, [0x4ddd20]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4b2403
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x40]
mov ebp, ecx
mov edx, eax
mov ecx, ebx
jmp 0x4b2385
mov edi, dword [esp + 0x50]
call fcn.0044a9c0
jmp 0x4b23f2
mov ecx, dword [esp + 0x74]
jmp 0x4b23a1
or eax, edx
mov dword [ebp + ebx*4], eax
mov eax, 1
jmp 0x4b2367
xor eax, eax
jmp 0x4b2367
cmp cl, 2
jne 0x4b2565
test bl, bl
jne 0x4b2545
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jb 0x4b253d
mov ecx, ebx
mov ebx, dword [esp + 0x74]
mov esi, edx
mov edx, dword [ebx + 4]
cmp dword [ebx + 8], ebp
jbe 0x4b2533
mov edi, ebx
mov ebx, dword [esp + 0x70]
mov ebx, dword [ebx + 8]
nop
mov edx, dword [edx + ebp*4]
mov ebp, dword [ebx]
cmp dword [ebx + 4], eax
jbe 0x4b28b1
movzx ebx, byte [esi + ebp]
cmp bl, 5
je 0x4b24ab
mov ebx, dword [edi + 0x1c]
mov ebp, dword [edi + 0x20]
mov esi, edx
lea edx, [ebp + 1]
mov eax, dword [edi + 0x24]
cmp edx, eax
ja 0x4b24d2
lea eax, [ebp + 1]
mov dword [edi + 0x20], eax
lea eax, [ebp + ebp*2]
mov edx, dword [esp + 0x3c]
mov dword [ebx + eax*4], edx
lea edx, [ebx + eax*4]
mov byte [edx + 4], 1
mov dword [ebx + eax*4 + 8], esi
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x5c]
cmp dword [edi + 8], edx
jbe 0x4b28aa
mov ebx, dword [esp + 0x2c]
mov dword [eax + edx*4], ebx
mov eax, dword [esp + 0x58]
mov ecx, ebx
movzx edx, byte [esp + 0x22]
jmp 0x4b2033
mov dword [esp + 0x44], esi
lea ecx, [0x4ddd20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4b2528
mov dword [ebx + 0x1c], eax
mov esi, dword [esp + 0x44]
mov edi, ebx
mov ebp, ecx
mov ebx, eax
movzx ecx, byte [esp + 0x22]
jmp 0x4b248f
mov edi, dword [esp + 0x50]
call fcn.0044a9c0
jmp 0x4b2514
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x74]
jmp 0x4b24c2
mov ecx, ebx
mov ebx, dword [esp + 0x74]
jmp 0x4b2533
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x5c]
cmp dword [eax + 8], edx
jbe 0x4b28b8
mov ebx, dword [esp + 0x2c]
mov dword [ecx + edx*4], ebx
jmp 0x4b2075
cmp cl, 3
jne 0x4b25bd
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x5c]
mov byte [esp + 8], al
call fcn.004b2db0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b2075
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
jmp 0x4b2033
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
test edx, edx
je 0x4b2681
cmp edx, 1
jle 0x4b2678
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp ebx, 1
jbe 0x4b28a3
mov ebp, dword [ecx + 4]
cmp ebp, 0xffffffff
jne 0x4b264e
mov ebp, dword [eax + 8]
mov esi, eax
mov eax, dword [eax + 4]
cmp ebx, ebp
jle 0x4b264a
cmp ecx, eax
je 0x4b2619
mov dword [esp], ecx
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0044b1c0
movzx eax, byte [esp + 0x23]
test al, al
je 0x4b263e
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
cmp dword [edx], ecx
jne 0x4b2075
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
mov ebp, ebx
jmp 0x4b2602
mov esi, ecx
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x4b2674
test edx, edx
jle 0x4b2670
cmp edx, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4b2619
mov ecx, esi
jmp 0x4b25f6
xor ebp, ebp
jmp 0x4b2666
xor ebp, ebp
jmp 0x4b2666
mov edx, dword [esp + 0x2c]
jmp 0x4b25df
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
cmp cl, 7
ja 0x4b2709
cmp cl, 5
je 0x4b2903
cmp cl, 6
jne 0x4b26af
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
mov edx, ebx
jmp 0x4b2033
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
nop
lea edx, [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004ab880
cmp dword [esp + 8], 0xffffffff
je 0x4b2075
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
lea ecx, [ebp + ebx]
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x4b2033
cmp cl, 8
je 0x4b27a2
cmp cl, 9
je 0x4b2766
cmp cl, 0xa
jne 0x4b28e9
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp eax, 0xa
je 0x4b2075
cmp eax, 0xffffffff
je 0x4b2075
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x4b2033
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], 0xffffffff
je 0x4b2075
mov ebx, dword [esp + 0x2c]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x4b2033
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jbe 0x4b28bf
cmp dword [edx], eax
jne 0x4b2075
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x4b2033
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x4b2817
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], 1
jle 0x4b2813
mov eax, dword [ecx + 4]
test eax, eax
setge al
mov byte [esp + 0x88], al
add esp, 0x6c
ret
xor eax, eax
jmp 0x4b2808
xor eax, eax
jmp 0x4b2808
lea eax, [0x4ddd20]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4b2871
mov dword [ebx + 0x1c], eax
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x84]
mov ebx, ecx
mov edx, eax
mov eax, dword [esp + 0x74]
jmp 0x4b1f74
lea edi, [ebx + 0x1c]
call fcn.0044a9c0
jmp 0x4b2859
mov eax, dword [esp + 0x74]
jmp 0x4b1f92
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x4b1f54
mov esi, eax
mov edi, dword [esp + 0x84]
xor eax, eax
jmp 0x4b1f54
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
lea eax, [0x4d4540]
mov dword [esp], eax
lea eax, [0x50d940]
mov dword [esp + 4], eax
call fcn.00426160
ud2
lea eax, [0x4d4540]
mov dword [esp], eax
lea eax, [0x50d948]
mov dword [esp + 4], eax
call fcn.00426160
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.00449270
jmp fcn.004b1ec0