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

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x52b6f6
sub esp, 0xe8
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x30], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x2c], ebx
mov dword [esp], eax
call fcn.00526c70
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x40]
mov dword [esp + 0x10], ebp
call fcn.0052b700
movzx eax, byte [esp + 0x14]
test al, al
je 0x52b20d
mov dword [esp + 0x28], 0x4c4d4159
mov eax, dword [esp + 0x44]
cmp eax, 4
je 0x52ae44
xor eax, eax
jmp 0x52ae61
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403360
movzx eax, byte [esp + 0xc]
test al, al
jne 0x52b09b
mov word [esp + 0x21], 0x4154
mov byte [esp + 0x23], 0x47
mov eax, dword [esp + 0x44]
cmp eax, 3
jne 0x52b006
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
lea ecx, [esp + 0x21]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403360
movzx eax, byte [esp + 0xc]
test al, al
je 0x52b006
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x4c]
mov dword [esp + 0x10], ebp
lea ebp, [esp + 0x34]
mov dword [esp + 0x14], ebp
call fcn.0052bdc0
movzx eax, byte [esp + 0x18]
test al, al
je 0x52aff7
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0x88]
mov ebx, dword [ecx + 0x8c]
mov ebp, dword [ecx + 0x84]
lea edi, [esp + 0x58]
lea esi, [0x5c0a68]
call fcn.0046154c
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5c], ecx
mov eax, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x60], ecx
mov esi, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebp
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebp
mov edi, dword [esp + 0xf0]
test byte [edi], al
mov edx, dword [0x6c4f80]
test edx, edx
je 0x52afe7
lea eax, [0x578460]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
call fcn.00410740
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov edx, esi
lea esi, [esp + 0x58]
call fcn.0046154c
jmp 0x52b1b7
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
nop
mov eax, dword [esp + 0xec]
mov dword [eax], 3
mov dword [eax + 0x24], 0x1a
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52b02f
mov ecx, dword [eax + 0x20]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58cc31]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1c
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52b068
mov ecx, dword [eax + 4]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58d720]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x8c]
mov ebx, dword [eax + 0x84]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x1f]
mov dword [esp + 0x10], ebp
lea ebp, [esp + 0x1e]
mov dword [esp + 0x14], ebp
call fcn.0052b9c0
movzx eax, byte [esp + 0x18]
test al, al
je 0x52b1fe
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0x88]
mov ebx, dword [ecx + 0x8c]
mov ebp, dword [ecx + 0x84]
lea edi, [esp + 0xa0]
lea esi, [0x5c0a20]
call fcn.0046154c
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa4], ecx
mov eax, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa8], ecx
mov esi, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
movzx edx, byte [esp + 0x1f]
mov byte [esp + 0xe5], dl
movzx edx, byte [esp + 0x1e]
mov byte [esp + 0xe6], dl
mov edi, dword [esp + 0xf0]
test byte [edi], al
mov edx, dword [0x6c4f80]
test edx, edx
je 0x52b1a9
lea eax, [0x578460]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa0]
mov dword [esp + 8], eax
call fcn.00410740
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov edx, esi
lea esi, [esp + 0xa0]
call fcn.0046154c
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x52b22b
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52b1ef
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
jmp 0x52b22b
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x52b6ee
mov esi, dword [ebx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x52b24e
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jne 0x52b295
mov dword [esp], ebx
call fcn.00526c70
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x52b21c
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52b286
mov eax, dword [esp + 0xec]
jmp 0x52b21c
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
xchg ebp, eax
cmp al, 0x23
xchg ebp, eax
je 0x52b566
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x52b550
mov esi, dword [ebx + 0x54]
movzx edi, byte [esi + ebp]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52b3a6
xchg edi, eax
cmp al, 0xa
xchg edi, eax
jne 0x52b2d1
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x52b3a6
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x52b2fa
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x52b549
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
jne 0x52b2f6
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x52b3a6
mov edx, dword [esp + 0x30]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52b397
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x52b542
lea eax, [esi + ebp + 1]
movzx eax, byte [eax]
cmp al, 0x80
jne 0x52b34c
lea ebx, [ebp + 2]
cmp ecx, ebx
jbe 0x52b53b
lea ebx, [esi + ebp + 2]
cmp byte [ebx], 0xa8
jne 0x52b33e
xchg edi, eax
cmp al, 0xd
xchg edi, eax
mov ebx, dword [esp + 0xec]
jmp 0x52b3a6
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov ebx, dword [esp + 0xec]
jmp 0x52b351
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52b38f
cmp ecx, edx
jbe 0x52b534
cmp al, 0x80
jne 0x52b385
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x52b52f
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa9
jne 0x52b37b
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x52b3a6
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x52b397
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x52b397
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x52b48e
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52b440
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x52b440
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x52b3d2
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x52b52a
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
je 0x52b440
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52b47f
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x52b525
lea edx, [esi + ebp + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x52b418
mov byte [esp + 0x20], dl
lea edx, [ebp + 2]
cmp ecx, edx
jbe 0x52b51e
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa8
je 0x52b440
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx edx, byte [esp + 0x20]
jmp 0x52b41d
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52b47f
cmp ecx, eax
jbe 0x52b519
cmp dl, 0x80
jne 0x52b47f
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x52b514
lea eax, [esi + ebp + 2]
cmp byte [eax], 0xa9
jne 0x52b47f
cmp dword [ebx + 0x64], 2
jge 0x52b466
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52b470
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
call fcn.00526d30
jmp 0x52b47f
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0xf4], 1
add esp, 0xe8
ret
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], 0x1a
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52b4b0
mov ecx, dword [ebx + 0x20]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58cc31]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x2b
mov eax, dword [0x6c4f80]
test eax, eax
je 0x52b4e1
mov eax, dword [ebx + 4]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x591ac7]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x8c]
mov edx, dword [ebx + 0x84]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
call fcn.00460f60
call fcn.00460f60
mov eax, edx
call fcn.00460f60
call fcn.00460f60
call fcn.00460f60
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, ebp
call fcn.00460f60
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x52b6e7
mov esi, dword [ebx + 0x54]
movzx edi, byte [esi + ebp]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52b2a0
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x52b2a0
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x52b5b4
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x52b6e0
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
je 0x52b68d
mov edx, dword [esp + 0x30]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52b644
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x52b6d9
lea eax, [esi + ebp + 1]
movzx eax, byte [eax]
cmp al, 0x80
jne 0x52b5fc
lea ebx, [ebp + 2]
cmp ecx, ebx
jbe 0x52b6d2
lea ebx, [esi + ebp + 2]
cmp byte [ebx], 0xa8
je 0x52b696
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov ebx, dword [esp + 0xec]
jmp 0x52b601
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52b63c
cmp ecx, edx
jbe 0x52b6cb
cmp al, 0x80
jne 0x52b632
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x52b6c6
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa9
je 0x52b6aa
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x52b644
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x52b644
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
xchg edi, eax
test al, al
xchg edi, eax
je 0x52b2a0
mov dword [esp], ebx
call fcn.00526c70
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x52b557
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52b6b7
mov eax, dword [esp + 0xec]
jmp 0x52b557
mov edx, dword [esp + 0x30]
jmp 0x52b2a0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
jmp 0x52b2a0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x52b2a0
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, ebp
call fcn.00460f60
mov eax, ebp
call fcn.00460f60
nop
call fcn.0045faf0
jmp fcn.0052ad90