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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x5436fc
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call fcn.005438e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
cmp ecx, eax
jb 0x5436f6
mov edx, ecx
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebp, dword [esp + 0xb4]
mov esi, edx
lea edx, [ebp + ecx]
test ebx, ebx
je 0x542e42
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x542d10
mov ecx, 1
jmp 0x542d16
cmp cl, 0x2f
sete cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], edx
mov byte [esp + 0x26], cl
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.00452227
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], esi
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xac], ecx
lea edi, [esp + 0x68]
lea esi, [esp + 0x8c]
call fcn.004526e6
movzx ecx, byte [esp + 0x26]
test cl, cl
je 0x542e39
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x542e16
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
cmp ebp, eax
jle 0x542dad
jbe 0x5436ef
add esi, eax
cmp byte [esi], 0x5c
jne 0x542dad
lea ebp, [eax + 1]
mov dword [esp + 0x7c], ebp
jmp 0x542e32
mov dword [esp + 0x3c], ebp
lea eax, [0x5b0a60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0043f090
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 + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x5436e6
cmp ebp, ecx
jl 0x542df5
mov ebp, ecx
cmp edx, eax
je 0x542e09
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00452920
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp ebp, eax
jbe 0x5436df
mov byte [esi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, 1
jmp 0x542e3b
xor eax, eax
mov ebp, eax
jmp 0x542eff
cmp eax, 1
jle 0x542eba
movzx eax, byte [ebp]
cmp al, 0x5c
je 0x542e55
cmp al, 0x2f
jne 0x542eba
movzx eax, byte [ebp + 1]
cmp al, 0x5c
je 0x542e63
cmp al, 0x2f
jne 0x542eba
nop
nop
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5cddd5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, str._bdx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.00472f80
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], esi
lea eax, [0x5f8b04]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00441d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
mov eax, esi
cmp eax, ebx
jge 0x543313
jae 0x5436d8
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x542f1f
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x542f24
lea esi, [eax + 1]
jmp 0x542efd
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x543219
lea edi, [eax + 1]
cmp ebx, edi
je 0x542f55
jbe 0x5436cf
movzx edx, byte [eax + edx + 1]
cmp dl, 0x5c
jne 0x542f4c
mov edx, dword [esp + 0x64]
jmp 0x542f55
cmp dl, 0x2f
jne 0x542f59
mov edx, dword [esp + 0x64]
mov esi, edi
jmp 0x542efd
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x543211
cmp ebx, edi
jbe 0x5436c6
mov edx, dword [esp + 0x64]
lea esi, [eax + edx + 1]
cmp byte [esi], 0x2e
jne 0x54320d
lea esi, [eax + 2]
cmp ebx, esi
je 0x542fa1
jbe 0x5436bd
movzx edi, byte [eax + edx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x542fa1
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x543209
mov edi, dword [esp + 0x7c]
cmp ebp, edi
jge 0x542fb3
dec edi
mov dword [esp + 0x7c], edi
jmp 0x543665
test cl, cl
je 0x542fbe
mov eax, edx
jmp 0x54360d
mov dword [esp + 0x38], esi
test edi, edi
jle 0x543084
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x543064
mov ebp, dword [esp + 0x6c]
mov eax, edx
mov edx, dword [esp + 0x68]
cmp ebp, edi
jle 0x542ff7
add edx, edi
cmp byte [edx], 0x5c
jne 0x542ff7
lea edx, [edi + 1]
mov dword [esp + 0x7c], edx
jmp 0x543086
mov dword [esp + 0x3c], ebp
lea eax, [0x5b0a60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0043f090
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 + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x543651
cmp ebp, ecx
jl 0x54303f
mov ebp, ecx
cmp edx, eax
je 0x543053
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00452920
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp ebp, eax
jbe 0x54364a
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, edx
jmp 0x543086
mov eax, edx
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x543126
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, edx
jle 0x5430b9
jbe 0x543641
add edi, edx
cmp byte [edi], 0x2e
jne 0x5430b9
inc edx
mov dword [esp + 0x7c], edx
jmp 0x543143
mov dword [esp + 0x3c], ebp
lea eax, [0x5b0a60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0043f090
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 + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x543638
cmp ebp, ecx
jl 0x543101
mov ebp, ecx
cmp edx, eax
je 0x543115
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00452920
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edx, edi
jbe 0x54362f
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x5431e3
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, edx
jle 0x543176
jbe 0x543626
add edi, edx
cmp byte [edi], 0x2e
jne 0x543176
inc edx
mov dword [esp + 0x7c], edx
jmp 0x543200
mov dword [esp + 0x3c], ebp
lea eax, [0x5b0a60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0043f090
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 + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x54361d
cmp ebp, ecx
jl 0x5431be
mov ebp, ecx
cmp edx, eax
je 0x5431d2
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00452920
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, edx
jae 0x543614
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
jmp 0x54360d
test cl, cl
jmp 0x54321b
test cl, cl
jmp 0x54321b
test cl, cl
mov edx, dword [esp + 0x64]
jmp 0x54321b
test cl, cl
mov dword [esp + 0x2c], ebp
je 0x543230
cmp dword [esp + 0x7c], 1
jne 0x54323c
test cl, cl
jne 0x5434da
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x5434da
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x5432e7
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp edi, esi
jle 0x543276
jbe 0x543604
add ebp, esi
cmp byte [ebp], 0x5c
jne 0x543276
lea ebp, [esi + 1]
mov dword [esp + 0x7c], ebp
jmp 0x543303
mov dword [esp + 0x3c], edi
lea eax, [0x5b0a60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.0043f090
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 + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x5435fb
cmp ebp, ecx
jl 0x5432be
mov ebp, ecx
cmp edx, eax
je 0x5432d2
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00452920
mov eax, dword [esp + 0x30]
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp ebp, esi
jae 0x5435f2
mov byte [edi + ebp], 0x5c
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x2c]
jmp 0x5434da
mov esi, eax
jmp 0x542efd
mov edx, dword [esp + 0x7c]
test edx, edx
jne 0x5433ba
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x54339e
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
test eax, eax
jle 0x543342
cmp byte [ecx], 0x2e
jne 0x543342
mov dword [esp + 0x7c], 1
jmp 0x5433ba
mov dword [esp + 0x40], eax
lea ecx, [0x5b0a60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0043f090
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 + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x5434c8
cmp ebp, ecx
jl 0x54338a
mov ebp, ecx
cmp edx, eax
je 0x54339e
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00452920
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x5434c3
mov byte [edx + eax], 0x2e
inc dword [esp + 0x7c]
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.00543c60
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x54343d
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
ja 0x5434bc
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x5434b5
mov dword [esp + 0x64], ebp
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00441fd0
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.00441d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x54345a
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x5434b0
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5cddd5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, str._bdx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.00472f80
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.004520c0
mov ecx, ebx
call fcn.004520e0
mov edx, ebx
call fcn.004520c0
call fcn.004520a0
mov ecx, ebp
mov edx, ebx
call fcn.004520c0
inc eax
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x2c]
cmp eax, ebx
jge 0x54330c
jae 0x5435eb
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x54330c
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x54330c
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x5435b1
mov dword [esp + 0x34], eax
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
cmp ebp, edi
jle 0x54353f
jbe 0x5435e2
add edx, edi
xchg esi, eax
cmp byte [edx], al
xchg esi, eax
jne 0x54353f
lea edx, [edi + 1]
mov dword [esp + 0x7c], edx
jmp 0x5434d1
mov dword [esp + 0x3c], ebp
lea eax, [0x5b0a60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0043f090
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 + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x5435d9
cmp ebp, ecx
jl 0x543583
mov ebp, ecx
cmp edx, eax
je 0x543597
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00452920
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x2c]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
cmp edi, edx
jbe 0x5435d0
xchg esi, eax
mov byte [ebp + edx], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x5434d1
mov eax, edx
mov ecx, edi
call fcn.004520a0
mov ecx, ebp
mov edx, ebx
call fcn.004520c0
mov eax, edi
mov ecx, ebp
call fcn.004520a0
mov ecx, ebx
call fcn.004520a0
mov eax, ebp
mov ecx, esi
call fcn.004520a0
mov ecx, ebp
mov edx, ebx
call fcn.004520c0
mov eax, esi
mov ecx, edi
call fcn.004520a0
mov edx, eax
jmp 0x542efd
mov eax, edi
mov ecx, edx
call fcn.004520a0
mov ecx, ebp
mov edx, ebx
call fcn.004520c0
mov eax, edx
mov ecx, ebp
call fcn.004520a0
mov eax, edi
mov ecx, edx
call fcn.004520a0
mov ecx, ebp
mov edx, ebx
call fcn.004520c0
mov eax, edx
mov ecx, ebp
call fcn.004520a0
mov ecx, ebp
call fcn.004520a0
mov ecx, ebp
mov edx, ebx
call fcn.004520c0
lea edi, [eax - 1]
mov dword [esp + 0x7c], edi
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x7c]
cmp ebp, eax
jge 0x5436a8
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
test edi, edi
je 0x543683
cmp edx, eax
jbe 0x5436b6
movzx edx, byte [edi + eax]
jmp 0x543693
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp edx, eax
jbe 0x5436af
movzx edx, byte [edi + eax]
nop
cmp dl, 0x5c
je 0x5436a4
cmp dl, 0x2f
jne 0x54365a
mov edx, dword [esp + 0x64]
jmp 0x5436a8
mov edx, dword [esp + 0x64]
mov eax, edx
jmp 0x54360d
mov ecx, edx
call fcn.004520a0
mov ecx, edx
call fcn.004520a0
mov eax, esi
mov ecx, ebx
call fcn.004520a0
mov eax, edi
mov ecx, ebx
call fcn.004520a0
mov eax, edi
mov ecx, ebx
call fcn.004520a0
mov ecx, ebx
call fcn.004520a0
mov ecx, ebp
call fcn.004520a0
mov ecx, ebp
mov edx, ebx
call fcn.004520c0
mov ecx, ebp
call fcn.004520a0
call fcn.00452100
nop
call fcn.00450c10
jmp fcn.00542c90