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

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x52e7c3
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call fcn.0052f040
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
cmp ecx, eax
jb 0x52e7bd
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 0x52df1e
mov dword [esp + 0x28], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x52ddf0
mov ecx, 1
jmp 0x52ddf6
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.00468c27
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.004690e6
movzx ecx, byte [esp + 0x26]
test cl, cl
je 0x52df15
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x52def2
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x52de89
jbe 0x52e7b4
mov esi, dword [esp + 0x68]
add esi, edx
cmp byte [esi], 0x5c
jne 0x52de89
inc edx
mov dword [esp + 0x7c], edx
jmp 0x52df0e
mov dword [esp + 0x3c], ebp
lea eax, [0x6bd4a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044e050
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 0x52e7ad
cmp ebx, ecx
jl 0x52decd
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x52dee5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00469320
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 0x52e7a4
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, 1
jmp 0x52df17
xor edx, edx
mov ebp, edx
jmp 0x52dfd8
cmp eax, 1
jle 0x52df95
movzx eax, byte [ebp]
cmp al, 0x5c
je 0x52df31
cmp al, 0x2f
jne 0x52df95
movzx eax, byte [ebp + 1]
cmp al, 0x5c
je 0x52df3f
cmp al, 0x2f
jne 0x52df95
nop
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x70a574]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x771dc8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004d5120
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, [0x771db4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00451c10
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 0x52e3e3
jae 0x52e79b
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x52dff8
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x52dffb
inc edx
jmp 0x52dfd8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x52e2e7
lea edi, [edx + 1]
cmp ebx, edi
je 0x52e02c
jbe 0x52e792
movzx eax, byte [edx + eax + 1]
cmp al, 0x5c
jne 0x52e023
mov eax, dword [esp + 0x64]
jmp 0x52e02c
cmp al, 0x2f
jne 0x52e030
mov eax, dword [esp + 0x64]
mov edx, edi
jmp 0x52dfd8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x52e2df
cmp ebx, edi
jbe 0x52e789
mov esi, dword [esp + 0x64]
lea edi, [edx + esi + 1]
cmp byte [edi], 0x2e
jne 0x52e2db
lea eax, [edx + 2]
cmp ebx, eax
je 0x52e078
jbe 0x52e782
movzx edi, byte [edx + esi + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x52e078
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x52e2d7
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x52e08a
dec edx
mov dword [esp + 0x7c], edx
jmp 0x52e728
test cl, cl
jne 0x52e6cf
mov dword [esp + 0x38], eax
test edx, edx
jle 0x52e156
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x52e13a
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x52e0cd
jbe 0x52e71a
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x5c
jne 0x52e0cd
inc edx
mov dword [esp + 0x7c], edx
jmp 0x52e156
mov dword [esp + 0x3c], ebp
lea eax, [0x6bd4a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044e050
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 0x52e713
cmp ebx, ecx
jl 0x52e111
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x52e129
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00469320
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 0x52e70a
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x52e1f6
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x52e189
jbe 0x52e701
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x52e189
inc edx
mov dword [esp + 0x7c], edx
jmp 0x52e212
mov dword [esp + 0x3c], ebp
lea eax, [0x6bd4a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044e050
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 0x52e6fa
cmp ebx, ecx
jl 0x52e1cd
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x52e1e5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00469320
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 0x52e6f1
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x52e2b2
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp edx, ebp
jge 0x52e245
jae 0x52e6e8
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x52e245
inc edx
mov dword [esp + 0x7c], edx
jmp 0x52e2ce
mov dword [esp + 0x3c], ebp
lea eax, [0x6bd4a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044e050
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 0x52e6e1
cmp ebx, ecx
jl 0x52e289
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x52e2a1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00469320
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 0x52e6d8
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
jmp 0x52e6cf
test cl, cl
jmp 0x52e2eb
test cl, cl
jmp 0x52e2eb
test cl, cl
mov esi, dword [esp + 0x64]
jmp 0x52e2eb
test cl, cl
mov esi, eax
mov dword [esp + 0x30], ebp
je 0x52e300
cmp dword [esp + 0x7c], 1
jne 0x52e30c
test cl, cl
jne 0x52e5ad
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x52e5ad
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x52e3bb
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
cmp eax, edi
jge 0x52e34a
jae 0x52e6c8
mov ecx, dword [esp + 0x68]
add ecx, eax
cmp byte [ecx], 0x5c
jne 0x52e34a
lea edi, [eax + 1]
mov dword [esp + 0x7c], edi
movzx ecx, byte [esp + 0x26]
jmp 0x52e5ad
mov dword [esp + 0x3c], edi
lea eax, [0x6bd4a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.0044e050
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 0x52e6c1
cmp ebx, ecx
jl 0x52e38e
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x52e3a6
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00469320
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 0x52e6ba
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
jmp 0x52e5ad
mov eax, esi
jmp 0x52dfd8
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x52e48f
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x52e473
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jge 0x52e417
jae 0x52e5a2
mov edx, dword [esp + 0x68]
add edx, eax
cmp byte [edx], 0x2e
jne 0x52e417
inc eax
mov dword [esp + 0x7c], eax
jmp 0x52e48f
mov dword [esp + 0x40], ecx
lea eax, [0x6bd4a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044e050
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 0x52e59b
cmp ebx, ecx
jl 0x52e45b
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x52e473
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00469320
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x52e596
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], 0x2e
inc dword [esp + 0x7c]
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.0052f9f0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x52e512
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
cmp ecx, edx
ja 0x52e591
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x52e58a
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.00451eb0
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.00451c10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x52e52f
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x52e585
mov eax, dword [esp + 0x80]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x70a574]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x771dc8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004d5120
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.00468a20
mov ecx, ebx
call fcn.00468a40
call fcn.00468a20
call fcn.00468a00
mov ecx, ebx
call fcn.00468a20
call fcn.00468a00
inc edx
movzx ecx, byte [esp + 0x26]
cmp edx, ebx
jge 0x52e3dc
movzx edi, byte [edx + esi]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x52e3dc
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x52e3dc
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x52e683
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 0x52e611
jae 0x52e6b5
mov ebp, dword [esp + 0x68]
add ebp, eax
xchg edi, eax
cmp byte [ebp], al
xchg edi, eax
jne 0x52e611
lea ebp, [eax + 1]
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x30]
jmp 0x52e5a7
mov dword [esp + 0x3c], ecx
lea eax, [0x6bd4a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044e050
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 0x52e6ae
cmp ebx, ecx
jl 0x52e651
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x52e669
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00469320
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 0x52e6a3
mov eax, dword [esp + 0x70]
xchg edi, ebx
mov byte [eax + ecx], bl
xchg edi, ebx
inc dword [esp + 0x7c]
jmp 0x52e5a7
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a20
call fcn.00468a00
mov ecx, edi
call fcn.00468a00
mov ecx, ebx
call fcn.00468a20
mov ecx, edi
call fcn.00468a00
mov edx, eax
mov eax, esi
jmp 0x52dfd8
mov eax, ebp
mov ecx, edx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a20
mov eax, edx
mov ecx, ebp
call fcn.00468a00
mov eax, ebp
mov ecx, edx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a20
mov eax, edx
mov ecx, ebp
call fcn.00468a00
mov eax, ebp
mov ecx, edx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a20
mov eax, edx
mov ecx, ebp
call fcn.00468a00
dec edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x52e6cf
mov edi, dword [esp + 0x70]
test edi, edi
je 0x52e74b
mov ecx, dword [esp + 0x74]
cmp ecx, edx
jbe 0x52e77b
movzx edi, byte [edi + edx]
movzx ecx, byte [esp + 0x26]
jmp 0x52e75b
mov edi, dword [esp + 0x6c]
cmp edi, edx
jbe 0x52e772
mov edi, dword [esp + 0x68]
movzx edi, byte [edi + edx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x52e6cf
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x52e723
jmp 0x52e6cf
mov eax, edx
mov ecx, edi
call fcn.00468a00
mov eax, edx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a00
mov eax, edi
mov ecx, ebx
call fcn.00468a00
mov eax, edi
mov ecx, ebx
call fcn.00468a00
mov eax, edx
mov ecx, ebx
call fcn.00468a00
mov eax, ebp
mov ecx, edx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a20
mov eax, edx
mov ecx, ebp
call fcn.00468a00
call fcn.00468a60
nop
call fcn.00467590
jmp fcn.0052dd70