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

Disassembly:
push 0xffffffffffffffff
push 0x103a7319
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x105623f8]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x105623f8]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x78]
xor esi, esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], esi
mov eax, 7
mov edi, 1
xor ecx, ecx
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x14], esi
mov dword [esp + 0x70], edi
mov word [ebp + 4], cx
xor edx, edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], esi
mov word [esp + 0x4c], dx
mov ecx, dword [esp + 0x90]
xor bl, bl
mov byte [esp + 0x70], 2
cmp esi, ecx
jae 0x52736e
jbe 0x526f60
call fcn.00776e71
mov ecx, dword [esp + 0x90]
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x526f78
lea eax, [esp + 0x80]
cmp word [eax + esi*2], 0x22
jne 0x526f84
test bl, bl
sete bl
test bl, bl
jne 0x5271e9
cmp esi, ecx
jbe 0x526f9c
call fcn.00776e71
mov ecx, dword [esp + 0x90]
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x526fb4
lea eax, [esp + 0x80]
cmp word [eax + esi*2], 0x41
jb 0x526fee
cmp esi, ecx
jbe 0x526fcb
call fcn.00776e71
mov ecx, dword [esp + 0x90]
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x526fe3
lea eax, [esp + 0x80]
cmp word [eax + esi*2], 0x5a
jbe 0x52707b
cmp esi, ecx
jbe 0x526ffe
call fcn.00776e71
mov ecx, dword [esp + 0x90]
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x527016
lea eax, [esp + 0x80]
cmp word [eax + esi*2], 0x30
jb 0x52704c
cmp esi, ecx
jbe 0x52702d
call fcn.00776e71
mov ecx, dword [esp + 0x90]
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x527045
lea eax, [esp + 0x80]
cmp word [eax + esi*2], 0x39
jbe 0x52707b
cmp esi, ecx
jbe 0x52705c
call fcn.00776e71
mov ecx, dword [esp + 0x90]
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x527074
lea eax, [esp + 0x80]
cmp word [eax + esi*2], 0x24
jne 0x5270a5
cmp esi, ecx
jbe 0x527084
call fcn.00776e71
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x52709c
lea eax, [esp + 0x80]
lea ecx, [esp + 0x48]
jmp 0x52720c
cmp dword [esp + 0x5c], 0
je 0x5271e9
cmp esi, ecx
jbe 0x5270b9
call fcn.00776e71
mov eax, dword [esp + 0x80]
mov ecx, 8
cmp dword [esp + 0x94], ecx
jae 0x5270d5
lea eax, [esp + 0x80]
cmp word [eax + esi*2], 0x28
je 0x5271c9
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x60], ecx
jae 0x5270ee
lea eax, [esp + 0x4c]
cmp word [eax], 0x41
jb 0x52712f
push 0
lea ecx, [esp + 0x4c]
call fcn.0046330f
cmp word [eax], 0x5a
ja 0x52712f
mov eax, dword [esp + 0x5c]
dec eax
push eax
lea ecx, [esp + 0x4c]
call fcn.0046330f
cmp word [eax], 0x30
jb 0x52712f
mov ecx, dword [esp + 0x5c]
dec ecx
push ecx
lea ecx, [esp + 0x4c]
call fcn.0046330f
cmp word [eax], 0x39
jbe 0x527148
cmp dword [esp + 0x60], 8
mov eax, dword [esp + 0x4c]
jae 0x52713e
lea eax, [esp + 0x4c]
cmp word [eax], 0x24
jne 0x5271c9
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.004cfe0f
mov ecx, dword [esp + 0x30]
add esp, 0x14
test cl, cl
je 0x52717c
mov edx, dword [esp + 0x98]
add dword [esp + 0x18], edx
mov eax, dword [esp + 0x20]
test al, al
je 0x52718f
mov edx, dword [esp + 0x9c]
add dword [esp + 0x14], edx
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.004cfc6f
add esp, 0x14
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebp
mov byte [esp + 0x7c], 3
call fcn.004088df
lea ecx, [esp + 0x2c]
mov byte [esp + 0x70], 2
call fcn.004d43ff
jmp 0x5271d9
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x50]
push eax
mov ecx, ebp
call fcn.004088df
lea ecx, [esp + 0x48]
call fcn.0057791f
mov ecx, dword [esp + 0x90]
cmp esi, ecx
jbe 0x5271f2
call fcn.00776e71
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x52720a
lea eax, [esp + 0x80]
mov ecx, ebp
movzx eax, word [eax + esi*2]
push eax
push edi
call fcn.00412c1f
mov ecx, dword [esp + 0x90]
add esi, edi
cmp esi, ecx
jb 0x526f60
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x52735a
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x4c]
mov eax, edi
cmp edx, 8
jae 0x527247
lea eax, [esp + 0x4c]
cmp word [eax], 0x41
jb 0x5272ae
mov eax, edi
cmp edx, 8
jae 0x527258
lea eax, [esp + 0x4c]
cmp word [eax], 0x5a
ja 0x5272ae
lea esi, [ecx - 1]
cmp esi, ecx
jbe 0x527276
call fcn.00776e71
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x4c]
mov eax, edi
cmp edx, 8
jae 0x527281
lea eax, [esp + 0x4c]
cmp word [eax + esi*2], 0x30
jb 0x5272ae
lea esi, [ecx - 1]
cmp esi, ecx
jbe 0x52729c
call fcn.00776e71
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x4c]
mov eax, edi
cmp edx, 8
jae 0x5272a7
lea eax, [esp + 0x4c]
cmp word [eax + esi*2], 0x39
jbe 0x5272c3
mov eax, edi
cmp edx, 8
jae 0x5272b9
lea eax, [esp + 0x4c]
cmp word [eax], 0x24
jne 0x52734a
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x58]
push edx
call fcn.004cfe0f
mov ecx, dword [esp + 0x34]
add esp, 0x14
test cl, cl
je 0x5272f7
mov eax, dword [esp + 0x98]
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test al, al
je 0x52730a
mov edx, dword [esp + 0x9c]
add dword [esp + 0x18], edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.004cfc6f
add esp, 0x14
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebp
mov byte [esp + 0x7c], 4
call fcn.004088df
cmp dword [esp + 0x44], 8
jb 0x52735a
mov eax, dword [esp + 0x30]
push eax
call fcn.00776c58
add esp, 4
jmp 0x52735a
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x50]
push ecx
mov ecx, ebp
call fcn.004088df
cmp dword [esp + 0x60], 8
jb 0x52736e
mov edx, dword [esp + 0x4c]
push edx
call fcn.00776c58
add esp, 4
xor eax, eax
cmp dword [esp + 0x94], 8
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
jb 0x52739f
mov ecx, dword [esp + 0x80]
push ecx
call fcn.00776c58
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.00777267
add esp, 0x60
ret 0x28