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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x4c9fad
sub esp, 0x94
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
call fcn.004caa60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x9c]
cmp eax, ecx
ja 0x4c9fa6
mov edx, ecx
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebp, dword [esp + 0x98]
lea esi, [ebp + ecx]
test ebx, ebx
je 0x4c9e4b
nop
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x4c9e40
mov ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x98], esi
mov byte [esp + 0x25], cl
lea edi, [esp + 0x70]
xor eax, eax
call fcn.0044d187
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x90], edx
movzx edx, byte [esp + 0x25]
test dl, dl
je 0x4c9e35
nop
test ecx, ecx
je 0x4c9d97
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
lea ebp, [esp + 0x70]
cmp dword [ebp + 0xc], ecx
jbe 0x4c9f98
mov byte [eax + ecx], 0x5c
inc dword [esp + 0x84]
mov eax, 1
mov ecx, eax
jmp 0x4c947a
lea ebp, [esp + 0x70]
cmp eax, ebx
jge 0x4c9b99
jae 0x4c9f91
nop
movzx edi, byte [esi + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x4c9b7e
mov ebp, 1
xchg ebp, eax
mov byte [esp + 0x24], al
xchg ebp, eax
lea ebp, [esp + 0x70]
movzx ebp, byte [esp + 0x24]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4c94b5
inc eax
jmp 0x4c9476
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c94f3
lea ebp, [eax + 1]
cmp ebp, ebx
jne 0x4c9b46
mov dword [esp + 0x44], eax
mov eax, 1
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x44]
movzx esi, byte [esp + 0x27]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4c94ee
mov esi, dword [esp + 0x98]
mov eax, ebp
jmp 0x4c9476
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c9b38
lea ebp, [eax + 1]
cmp ebp, ebx
jae 0x4c9f83
mov ebp, dword [esp + 0x98]
movzx esi, byte [eax + ebp + 1]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4c9b31
lea esi, [eax + 2]
cmp esi, ebx
jne 0x4c9b03
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
je 0x4c9885
mov eax, dword [esp + 0x84]
cmp eax, ecx
jle 0x4c95b7
dec eax
mov dword [esp + 0x84], eax
jmp 0x4c9557
dec eax
mov dword [esp + 0x84], eax
movzx edx, byte [esp + 0x25]
mov eax, dword [esp + 0x84]
cmp eax, ecx
jle 0x4c958a
nop
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
test edi, edi
je 0x4c95a0
cmp eax, edx
jae 0x4c9f7c
movzx edx, byte [edi + eax]
nop
cmp dl, 0x5c
jne 0x4c9598
mov edx, 1
test dl, dl
je 0x4c954a
movzx edx, byte [esp + 0x25]
mov eax, esi
mov esi, ebp
jmp 0x4c9476
cmp dl, 0x2f
sete dl
jmp 0x4c9586
mov edx, dword [esp + 0x70]
lea edi, [esp + 0x70]
cmp dword [edi + 4], eax
jbe 0x4c9f75
movzx edx, byte [edx + eax]
jmp 0x4c957b
test dl, dl
jne 0x4c958a
mov dword [esp + 0x3c], esi
test eax, eax
jle 0x4c987c
nop
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x4c97cf
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
lea edi, [esp + 0x70]
cmp dword [edi + 0xc], ecx
jbe 0x4c9f67
mov byte [eax + ecx], 0x5c
inc dword [esp + 0x84]
nop
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4c9712
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [edi + 0xc], ecx
jbe 0x4c9f52
mov byte [eax + ecx], 0x2e
inc dword [esp + 0x84]
nop
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4c9657
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [edi + 0xc], ecx
jbe 0x4c9f3d
mov byte [eax + ecx], 0x2e
inc dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
jmp 0x4c958a
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp eax, ecx
jge 0x4c9689
jae 0x4c9f4b
movzx edi, byte [edi + eax]
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c9689
inc eax
mov dword [esp + 0x84], eax
lea edi, [esp + 0x70]
jmp 0x4c964b
mov dword [esp + 0x38], ecx
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x84]
test ebp, ebp
jl 0x4c9f44
cmp ebp, ebx
ja 0x4c9f44
cmp ecx, ebp
jle 0x4c970e
cmp eax, edx
je 0x4c96f1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0044d890
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x3c]
lea edi, [esp + 0x70]
jmp 0x4c962c
mov ebp, ecx
jmp 0x4c96dd
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp eax, ecx
jge 0x4c9746
jae 0x4c9f60
movzx edx, byte [edx + eax]
cmp dl, 0x2e
jne 0x4c9746
inc eax
mov dword [esp + 0x84], eax
movzx edx, byte [esp + 0x25]
jmp 0x4c9623
mov dword [esp + 0x38], ecx
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
test ebp, ebp
jl 0x4c9f59
cmp ebp, edx
ja 0x4c9f59
cmp ecx, ebp
jle 0x4c97cb
cmp eax, ebx
je 0x4c97ae
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044d890
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x3c]
lea edi, [esp + 0x70]
jmp 0x4c9604
mov ebp, ecx
jmp 0x4c979a
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp eax, ecx
jge 0x4c97f7
movzx edi, byte [edi + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x4c97f7
inc eax
mov dword [esp + 0x84], eax
lea edi, [esp + 0x70]
jmp 0x4c95f7
mov dword [esp + 0x38], ecx
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
test ebp, ebp
jl 0x4c9f6e
cmp ebp, edx
ja 0x4c9f6e
cmp ecx, ebp
jle 0x4c9878
cmp eax, ebx
je 0x4c985f
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044d890
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x3c]
jmp 0x4c95d4
mov ebp, ecx
jmp 0x4c984b
lea edi, [esp + 0x70]
jmp 0x4c95f7
test dl, dl
mov dword [esp + 0x30], ecx
je 0x4c9ada
cmp dword [esp + 0x84], 1
je 0x4c9ad8
nop
mov esi, dword [esp + 0x78]
test esi, esi
je 0x4c9a18
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
lea edx, [esp + 0x70]
cmp dword [edx + 0xc], edi
jbe 0x4c9f28
mov byte [esi + edi], 0x5c
inc dword [esp + 0x84]
jmp 0x4c98d6
inc eax
mov ecx, dword [esp + 0x30]
cmp eax, ebx
jge 0x4c99fb
jae 0x4c9f21
nop
movzx esi, byte [eax + ebp]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x4c9a07
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4c99fb
nop
mov edi, dword [esp + 0x78]
test edi, edi
je 0x4c992e
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [edx + 0xc], ecx
jbe 0x4c9f0c
xchg esi, eax
mov byte [edi + ecx], al
xchg esi, eax
inc dword [esp + 0x84]
jmp 0x4c98d1
mov dword [esp + 0x2c], eax
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
cmp edi, edx
jge 0x4c996e
jae 0x4c9f1a
movzx ecx, byte [ecx + edi]
xchg esi, eax
cmp cl, al
xchg esi, eax
jne 0x4c996e
lea ecx, [edi + 1]
mov dword [esp + 0x84], ecx
lea edx, [esp + 0x70]
jmp 0x4c98d1
mov dword [esp + 0x38], edx
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
test ebp, ebp
jl 0x4c9f13
cmp ebp, edx
ja 0x4c9f13
cmp ecx, ebp
jle 0x4c99f7
cmp eax, ebx
je 0x4c99d6
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044d890
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x70]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x98]
movzx esi, byte [esp + 0x26]
jmp 0x4c990c
mov ebp, ecx
jmp 0x4c99c2
movzx edx, byte [esp + 0x25]
mov esi, ebp
jmp 0x4c9476
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x4c98f9
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp esi, edi
jge 0x4c9a4f
jae 0x4c9f36
movzx edx, byte [edx + esi]
cmp dl, 0x5c
jne 0x4c9a4f
inc esi
mov dword [esp + 0x84], esi
lea edx, [esp + 0x70]
jmp 0x4c98d6
mov dword [esp + 0x38], edi
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
test ebp, ebp
jl 0x4c9f2f
cmp ebp, edx
ja 0x4c9f2f
cmp ecx, ebp
jle 0x4c9ad4
cmp eax, ebx
je 0x4c9ab7
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044d890
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x98]
jmp 0x4c98ac
mov ebp, ecx
jmp 0x4c9aa3
test dl, dl
je 0x4c9af1
xor esi, esi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4c989f
lea edx, [esp + 0x70]
jmp 0x4c98d6
mov edi, dword [esp + 0x84]
test edi, edi
xchg esi, ebx
setne bl
xchg esi, ebx
jmp 0x4c9ade
jae 0x4c9f83
nop
movzx edi, byte [eax + ebp + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x4c9b20
mov edi, 1
jmp 0x4c952b
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x4c952b
test dl, dl
jmp 0x4c9887
test dl, dl
mov ebp, dword [esp + 0x98]
jmp 0x4c9887
jae 0x4c9f8a
nop
movzx esi, byte [eax + esi + 1]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x4c9b70
mov esi, 1
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov esi, dword [esp + 0x98]
jmp 0x4c94d8
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
xchg esi, ebx
sete bl
xchg esi, ebx
jmp 0x4c9b5e
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0x24], al
xchg ebp, eax
lea ebp, [esp + 0x70]
jmp 0x4c94a7
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x4c9bd0
nop
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x4c9d00
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [ebp + 0xc], ecx
jbe 0x4c9efe
mov byte [eax + ecx], 0x2e
inc dword [esp + 0x84]
nop
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x4c9ccb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x90]
test ebp, ebp
jl 0x4c9ef0
cmp ebp, edx
ja 0x4c9ef0
mov edx, dword [esp + 0x84]
test edx, edx
jl 0x4c9ef0
cmp edx, eax
ja 0x4c9ef0
mov dword [esp + 0x40], ebp
mov dword [esp + 0x6c], ebx
lea ebx, [esp + 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043c120
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x683f11]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x683f2a]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004c7390
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x94
ret
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x90]
add edx, dword [esp + 0x84]
test edx, edx
jl 0x4c9ef7
cmp edx, eax
ja 0x4c9ef7
mov eax, ecx
mov ecx, edx
jmp 0x4c9c74
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp eax, ecx
jge 0x4c9d22
movzx edx, byte [edx + eax]
cmp dl, 0x2e
jne 0x4c9d22
inc eax
mov dword [esp + 0x84], eax
jmp 0x4c9bd0
mov dword [esp + 0x40], ecx
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
test ebp, ebp
jl 0x4c9f05
cmp ebp, edx
ja 0x4c9f05
cmp ecx, ebp
jle 0x4c9d93
cmp eax, ebx
je 0x4c9d8a
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044d890
lea ebp, [esp + 0x70]
jmp 0x4c9bb1
mov ebp, ecx
jmp 0x4c9d76
mov eax, dword [esp + 0x70]
test ebx, ebx
jle 0x4c9db8
cmp byte [eax], 0x5c
jne 0x4c9db8
mov dword [esp + 0x84], 1
lea ebp, [esp + 0x70]
jmp 0x4c946d
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
test ebp, ebp
jl 0x4c9f9f
cmp ebp, edx
ja 0x4c9f9f
cmp ecx, ebp
jle 0x4c9e31
cmp eax, ebx
je 0x4c9e1c
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044d890
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x98]
jmp 0x4c944a
mov ebp, ecx
jmp 0x4c9e08
lea ebp, [esp + 0x70]
xor eax, eax
jmp 0x4c9472
cmp cl, 0x2f
sete cl
jmp 0x4c93f1
cmp eax, 1
jle 0x4c9e56
cmp byte [ebp + 1], 0x3a
jne 0x4c9e99
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
lea eax, [0x683f10]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043c120
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x94
ret
nop
nop
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x683f11]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x683f2a]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004c7390
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x94
ret
call fcn.00427250
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427250
ud2
call fcn.0044b940
jmp fcn.004c9370