Function at 0x495b00
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 0x49673d
sub esp, 0x94
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
call fcn.004969e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x9c]
cmp eax, ecx
ja 0x496736
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 0x4965db
nop
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x4965d0
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.0044aab7
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 0x4965c5
nop
test ecx, ecx
je 0x496527
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
lea ebp, [esp + 0x70]
cmp dword [ebp + 0xc], ecx
jbe 0x496728
mov byte [eax + ecx], 0x5c
inc dword [esp + 0x84]
mov eax, 1
mov ecx, eax
jmp 0x495c0a
lea ebp, [esp + 0x70]
cmp eax, ebx
jge 0x496329
jae 0x496721
nop
movzx edi, byte [esi + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x49630e
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 0x495c45
inc eax
jmp 0x495c06
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x495c83
lea ebp, [eax + 1]
cmp ebp, ebx
jne 0x4962d6
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 0x495c7e
mov esi, dword [esp + 0x98]
mov eax, ebp
jmp 0x495c06
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4962c8
lea ebp, [eax + 1]
cmp ebp, ebx
jae 0x496713
mov ebp, dword [esp + 0x98]
movzx esi, byte [eax + ebp + 1]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4962c1
lea esi, [eax + 2]
cmp esi, ebx
jne 0x496293
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
je 0x496015
mov eax, dword [esp + 0x84]
cmp eax, ecx
jle 0x495d47
dec eax
mov dword [esp + 0x84], eax
jmp 0x495ce7
dec eax
mov dword [esp + 0x84], eax
movzx edx, byte [esp + 0x25]
mov eax, dword [esp + 0x84]
cmp eax, ecx
jle 0x495d1a
nop
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
test edi, edi
je 0x495d30
cmp eax, edx
jae 0x49670c
movzx edx, byte [edi + eax]
nop
cmp dl, 0x5c
jne 0x495d28
mov edx, 1
test dl, dl
je 0x495cda
movzx edx, byte [esp + 0x25]
mov eax, esi
mov esi, ebp
jmp 0x495c06
cmp dl, 0x2f
sete dl
jmp 0x495d16
mov edx, dword [esp + 0x70]
lea edi, [esp + 0x70]
cmp dword [edi + 4], eax
jbe 0x496705
movzx edx, byte [edx + eax]
jmp 0x495d0b
test dl, dl
jne 0x495d1a
mov dword [esp + 0x3c], esi
test eax, eax
jle 0x49600c
nop
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x495f5f
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
lea edi, [esp + 0x70]
cmp dword [edi + 0xc], ecx
jbe 0x4966f7
mov byte [eax + ecx], 0x5c
inc dword [esp + 0x84]
nop
mov eax, dword [esp + 0x78]
test eax, eax
je 0x495ea2
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [edi + 0xc], ecx
jbe 0x4966e2
mov byte [eax + ecx], 0x2e
inc dword [esp + 0x84]
nop
mov eax, dword [esp + 0x78]
test eax, eax
je 0x495de7
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [edi + 0xc], ecx
jbe 0x4966cd
mov byte [eax + ecx], 0x2e
inc dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
jmp 0x495d1a
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp eax, ecx
jge 0x495e19
jae 0x4966db
movzx edi, byte [edi + eax]
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x495e19
inc eax
mov dword [esp + 0x84], eax
lea edi, [esp + 0x70]
jmp 0x495ddb
mov dword [esp + 0x38], ecx
lea eax, [0x4d4700]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00436d20
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 0x4966d4
cmp ebp, ebx
ja 0x4966d4
cmp ecx, ebp
jle 0x495e9e
cmp eax, edx
je 0x495e81
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0044b1c0
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 0x495dbc
mov ebp, ecx
jmp 0x495e6d
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp eax, ecx
jge 0x495ed6
jae 0x4966f0
movzx edx, byte [edx + eax]
cmp dl, 0x2e
jne 0x495ed6
inc eax
mov dword [esp + 0x84], eax
movzx edx, byte [esp + 0x25]
jmp 0x495db3
mov dword [esp + 0x38], ecx
lea eax, [0x4d4700]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00436d20
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 0x4966e9
cmp ebp, edx
ja 0x4966e9
cmp ecx, ebp
jle 0x495f5b
cmp eax, ebx
je 0x495f3e
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044b1c0
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 0x495d94
mov ebp, ecx
jmp 0x495f2a
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp eax, ecx
jge 0x495f87
movzx edi, byte [edi + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x495f87
inc eax
mov dword [esp + 0x84], eax
lea edi, [esp + 0x70]
jmp 0x495d87
mov dword [esp + 0x38], ecx
lea eax, [0x4d4700]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00436d20
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 0x4966fe
cmp ebp, edx
ja 0x4966fe
cmp ecx, ebp
jle 0x496008
cmp eax, ebx
je 0x495fef
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044b1c0
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x3c]
jmp 0x495d64
mov ebp, ecx
jmp 0x495fdb
lea edi, [esp + 0x70]
jmp 0x495d87
test dl, dl
mov dword [esp + 0x30], ecx
je 0x49626a
cmp dword [esp + 0x84], 1
je 0x496268
nop
mov esi, dword [esp + 0x78]
test esi, esi
je 0x4961a8
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
lea edx, [esp + 0x70]
cmp dword [edx + 0xc], edi
jbe 0x4966b8
mov byte [esi + edi], 0x5c
inc dword [esp + 0x84]
jmp 0x496066
inc eax
mov ecx, dword [esp + 0x30]
cmp eax, ebx
jge 0x49618b
jae 0x4966b1
nop
movzx esi, byte [eax + ebp]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x496197
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
jne 0x49618b
nop
mov edi, dword [esp + 0x78]
test edi, edi
je 0x4960be
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [edx + 0xc], ecx
jbe 0x49669c
xchg esi, eax
mov byte [edi + ecx], al
xchg esi, eax
inc dword [esp + 0x84]
jmp 0x496061
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 0x4960fe
jae 0x4966aa
movzx ecx, byte [ecx + edi]
xchg esi, eax
cmp cl, al
xchg esi, eax
jne 0x4960fe
lea ecx, [edi + 1]
mov dword [esp + 0x84], ecx
lea edx, [esp + 0x70]
jmp 0x496061
mov dword [esp + 0x38], edx
lea eax, [0x4d4700]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00436d20
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 0x4966a3
cmp ebp, edx
ja 0x4966a3
cmp ecx, ebp
jle 0x496187
cmp eax, ebx
je 0x496166
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044b1c0
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 0x49609c
mov ebp, ecx
jmp 0x496152
movzx edx, byte [esp + 0x25]
mov esi, ebp
jmp 0x495c06
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x496089
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp esi, edi
jge 0x4961df
jae 0x4966c6
movzx edx, byte [edx + esi]
cmp dl, 0x5c
jne 0x4961df
inc esi
mov dword [esp + 0x84], esi
lea edx, [esp + 0x70]
jmp 0x496066
mov dword [esp + 0x38], edi
lea eax, [0x4d4700]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00436d20
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 0x4966bf
cmp ebp, edx
ja 0x4966bf
cmp ecx, ebp
jle 0x496264
cmp eax, ebx
je 0x496247
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044b1c0
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 0x49603c
mov ebp, ecx
jmp 0x496233
test dl, dl
je 0x496281
xor esi, esi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x49602f
lea edx, [esp + 0x70]
jmp 0x496066
mov edi, dword [esp + 0x84]
test edi, edi
xchg esi, ebx
setne bl
xchg esi, ebx
jmp 0x49626e
jae 0x496713
nop
movzx edi, byte [eax + ebp + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x4962b0
mov edi, 1
jmp 0x495cbb
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x495cbb
test dl, dl
jmp 0x496017
test dl, dl
mov ebp, dword [esp + 0x98]
jmp 0x496017
jae 0x49671a
nop
movzx esi, byte [eax + esi + 1]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x496300
mov esi, 1
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov esi, dword [esp + 0x98]
jmp 0x495c68
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
xchg esi, ebx
sete bl
xchg esi, ebx
jmp 0x4962ee
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 0x495c37
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x496360
nop
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x496490
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp dword [ebp + 0xc], ecx
jbe 0x49668e
mov byte [eax + ecx], 0x2e
inc dword [esp + 0x84]
nop
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x49645b
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x90]
test ebp, ebp
jl 0x496680
cmp ebp, edx
ja 0x496680
mov edx, dword [esp + 0x84]
test edx, edx
jl 0x496680
cmp edx, eax
ja 0x496680
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.0043a1e0
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.0043a060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x4ee7ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4ee7ff]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004950b0
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 0x496687
cmp edx, eax
ja 0x496687
mov eax, ecx
mov ecx, edx
jmp 0x496404
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp eax, ecx
jge 0x4964b2
movzx edx, byte [edx + eax]
cmp dl, 0x2e
jne 0x4964b2
inc eax
mov dword [esp + 0x84], eax
jmp 0x496360
mov dword [esp + 0x40], ecx
lea eax, [0x4d4700]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00436d20
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 0x496695
cmp ebp, edx
ja 0x496695
cmp ecx, ebp
jle 0x496523
cmp eax, ebx
je 0x49651a
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044b1c0
lea ebp, [esp + 0x70]
jmp 0x496341
mov ebp, ecx
jmp 0x496506
mov eax, dword [esp + 0x70]
test ebx, ebx
jle 0x496548
cmp byte [eax], 0x5c
jne 0x496548
mov dword [esp + 0x84], 1
lea ebp, [esp + 0x70]
jmp 0x495bfd
lea eax, [0x4d4700]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00436d20
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 0x49672f
cmp ebp, edx
ja 0x49672f
cmp ecx, ebp
jle 0x4965c1
cmp eax, ebx
je 0x4965ac
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044b1c0
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x98]
jmp 0x495bda
mov ebp, ecx
jmp 0x496598
lea ebp, [esp + 0x70]
xor eax, eax
jmp 0x495c02
cmp cl, 0x2f
sete cl
jmp 0x495b81
cmp eax, 1
jle 0x4965e6
cmp byte [ebp + 1], 0x3a
jne 0x496629
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
lea eax, [0x4ee7eb]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043a060
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, [0x4ee7ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4ee7ff]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004950b0
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.004254a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
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.004254a0
ud2
call fcn.004254a0
ud2
call fcn.00449270
jmp fcn.00495b00