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

Disassembly:
mov ecx, dword [0x6b21fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x4b2b93
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call fcn.004b2e60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
cmp ecx, eax
jb 0x4b2b8d
mov edx, ecx
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebp, dword [esp + 0xb4]
lea esi, [ebp + ecx]
test ebx, ebx
je 0x4b22ee
mov dword [esp + 0x28], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x4b21c0
mov ecx, 1
jmp 0x4b21c6
cmp cl, 0x2f
sete cl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], esi
mov byte [esp + 0x26], cl
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.00468aa7
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xac], ecx
lea edi, [esp + 0x68]
mov eax, esi
lea esi, [esp + 0x8c]
call fcn.00468f66
movzx ecx, byte [esp + 0x26]
test cl, cl
je 0x4b22e5
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4b22c2
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4b2259
jbe 0x4b2b84
mov esi, dword [esp + 0x68]
add esi, edx
cmp byte [esi], 0x5c
jne 0x4b2259
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4b22de
mov dword [esp + 0x3c], ebp
lea eax, [0x52abc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4b2b7d
cmp ebx, ecx
jl 0x4b229d
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4b22b5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004691a0
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4b2b74
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, 1
jmp 0x4b22e7
xor edx, edx
mov ebp, edx
jmp 0x4b23a8
cmp eax, 1
jle 0x4b2365
movzx eax, byte [ebp]
cmp al, 0x5c
je 0x4b2301
cmp al, 0x2f
jne 0x4b2365
movzx eax, byte [ebp + 1]
cmp al, 0x5c
je 0x4b230f
cmp al, 0x2f
jne 0x4b2365
nop
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x5463a0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x54639f]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004ac530
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
lea eax, [0x54639c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00452d00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
cmp edx, ebx
jge 0x4b27b3
jae 0x4b2b6b
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4b23c8
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x4b23cb
inc edx
jmp 0x4b23a8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4b26b7
lea edi, [edx + 1]
cmp ebx, edi
je 0x4b23fc
jbe 0x4b2b62
movzx eax, byte [edx + eax + 1]
cmp al, 0x5c
jne 0x4b23f3
mov eax, dword [esp + 0x64]
jmp 0x4b23fc
cmp al, 0x2f
jne 0x4b2400
mov eax, dword [esp + 0x64]
mov edx, edi
jmp 0x4b23a8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4b26af
cmp ebx, edi
jbe 0x4b2b59
mov esi, dword [esp + 0x64]
lea edi, [edx + esi + 1]
cmp byte [edi], 0x2e
jne 0x4b26ab
lea eax, [edx + 2]
cmp ebx, eax
je 0x4b2448
jbe 0x4b2b52
movzx edi, byte [edx + esi + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4b2448
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4b26a7
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x4b245a
dec edx
mov dword [esp + 0x7c], edx
jmp 0x4b2af8
test cl, cl
jne 0x4b2a9f
mov dword [esp + 0x38], eax
test edx, edx
jle 0x4b2526
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x4b250a
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4b249d
jbe 0x4b2aea
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x5c
jne 0x4b249d
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4b2526
mov dword [esp + 0x3c], ebp
lea eax, [0x52abc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4b2ae3
cmp ebx, ecx
jl 0x4b24e1
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4b24f9
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004691a0
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4b2ada
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4b25c6
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4b2559
jbe 0x4b2ad1
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x4b2559
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4b25e2
mov dword [esp + 0x3c], ebp
lea eax, [0x52abc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4b2aca
cmp ebx, ecx
jl 0x4b259d
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4b25b5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004691a0
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4b2ac1
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4b2682
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp edx, ebp
jge 0x4b2615
jae 0x4b2ab8
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x4b2615
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4b269e
mov dword [esp + 0x3c], ebp
lea eax, [0x52abc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4b2ab1
cmp ebx, ecx
jl 0x4b2659
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4b2671
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004691a0
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jae 0x4b2aa8
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
jmp 0x4b2a9f
test cl, cl
jmp 0x4b26bb
test cl, cl
jmp 0x4b26bb
test cl, cl
mov esi, dword [esp + 0x64]
jmp 0x4b26bb
test cl, cl
mov esi, eax
mov dword [esp + 0x30], ebp
je 0x4b26d0
cmp dword [esp + 0x7c], 1
jne 0x4b26dc
test cl, cl
jne 0x4b297d
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x4b297d
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4b278b
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
cmp eax, edi
jge 0x4b271a
jae 0x4b2a98
mov ecx, dword [esp + 0x68]
add ecx, eax
cmp byte [ecx], 0x5c
jne 0x4b271a
lea edi, [eax + 1]
mov dword [esp + 0x7c], edi
movzx ecx, byte [esp + 0x26]
jmp 0x4b297d
mov dword [esp + 0x3c], edi
lea eax, [0x52abc0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4b2a91
cmp ebx, ecx
jl 0x4b275e
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4b2776
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004691a0
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
cmp eax, edi
jae 0x4b2a8a
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
jmp 0x4b297d
mov eax, esi
jmp 0x4b23a8
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x4b285f
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4b2843
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jge 0x4b27e7
jae 0x4b2972
mov edx, dword [esp + 0x68]
add edx, eax
cmp byte [edx], 0x2e
jne 0x4b27e7
inc eax
mov dword [esp + 0x7c], eax
jmp 0x4b285f
mov dword [esp + 0x40], ecx
lea eax, [0x52abc0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4b296b
cmp ebx, ecx
jl 0x4b282b
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4b2843
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004691a0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4b2966
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], 0x2e
inc dword [esp + 0x7c]
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.004b3560
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4b28e2
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
cmp ecx, edx
ja 0x4b2961
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4b295a
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x64], ecx
lea edx, [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00452fa0
mov dword [esp], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.00452d00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4b28ff
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x4b2955
mov eax, dword [esp + 0x80]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5463a0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x54639f]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004ac530
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
call fcn.004688f0
mov ecx, ebx
call fcn.00468910
call fcn.004688f0
call fcn.004688d0
mov ecx, ebx
call fcn.004688f0
call fcn.004688d0
inc edx
movzx ecx, byte [esp + 0x26]
cmp edx, ebx
jge 0x4b27ac
movzx edi, byte [edx + esi]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4b27ac
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4b27ac
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x4b2a53
mov dword [esp + 0x34], edx
xchg edi, eax
mov byte [esp + 0x27], al
xchg edi, eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jge 0x4b29e1
jae 0x4b2a85
mov ebp, dword [esp + 0x68]
add ebp, eax
xchg edi, eax
cmp byte [ebp], al
xchg edi, eax
jne 0x4b29e1
lea ebp, [eax + 1]
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x30]
jmp 0x4b2977
mov dword [esp + 0x3c], ecx
lea eax, [0x52abc0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4b2a7e
cmp ebx, ecx
jl 0x4b2a21
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4b2a39
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004691a0
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
movzx edi, byte [esp + 0x27]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
jae 0x4b2a73
mov eax, dword [esp + 0x70]
xchg edi, ebx
mov byte [eax + ecx], bl
xchg edi, ebx
inc dword [esp + 0x7c]
jmp 0x4b2977
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.004688d0
mov ecx, ebx
call fcn.004688f0
call fcn.004688d0
mov ecx, edi
call fcn.004688d0
mov ecx, ebx
call fcn.004688f0
mov ecx, edi
call fcn.004688d0
mov edx, eax
mov eax, esi
jmp 0x4b23a8
mov eax, ebp
mov ecx, edx
call fcn.004688d0
mov ecx, ebx
call fcn.004688f0
mov eax, edx
mov ecx, ebp
call fcn.004688d0
mov eax, ebp
mov ecx, edx
call fcn.004688d0
mov ecx, ebx
call fcn.004688f0
mov eax, edx
mov ecx, ebp
call fcn.004688d0
mov eax, ebp
mov ecx, edx
call fcn.004688d0
mov ecx, ebx
call fcn.004688f0
mov eax, edx
mov ecx, ebp
call fcn.004688d0
dec edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x4b2a9f
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4b2b1b
mov ecx, dword [esp + 0x74]
cmp ecx, edx
jbe 0x4b2b4b
movzx edi, byte [edi + edx]
movzx ecx, byte [esp + 0x26]
jmp 0x4b2b2b
mov edi, dword [esp + 0x6c]
cmp edi, edx
jbe 0x4b2b42
mov edi, dword [esp + 0x68]
movzx edi, byte [edi + edx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4b2a9f
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4b2af3
jmp 0x4b2a9f
mov eax, edx
mov ecx, edi
call fcn.004688d0
mov eax, edx
call fcn.004688d0
mov ecx, ebx
call fcn.004688d0
mov eax, edi
mov ecx, ebx
call fcn.004688d0
mov eax, edi
mov ecx, ebx
call fcn.004688d0
mov eax, edx
mov ecx, ebx
call fcn.004688d0
mov eax, ebp
mov ecx, edx
call fcn.004688d0
mov ecx, ebx
call fcn.004688f0
mov eax, edx
mov ecx, ebp
call fcn.004688d0
call fcn.00468930
nop
call fcn.00467460
jmp fcn.004b2140