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

Disassembly:
sub esp, 0x7cc
push ebx
push ebp
push esi
push edi
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x32d]
mov byte [esp + 0x32c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x4bd]
mov byte [esp + 0x4bc], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x19d]
mov byte [esp + 0x19c], 0
rep stosd dword es:[edi], eax
xor ecx, ecx
xor edx, edx
stosw word es:[edi], ax
mov dword [esp + 0x71], ecx
mov dword [esp + 0x85], edx
mov dword [esp + 0x75], ecx
mov dword [esp + 0x89], edx
stosb byte es:[edi], al
xor eax, eax
mov dword [esp + 0x79], ecx
mov dword [esp + 0x3d], eax
mov dword [esp + 0x7d], ecx
mov dword [esp + 0x41], eax
mov word [esp + 0x81], cx
mov word [esp + 0x45], ax
mov byte [esp + 0x83], cl
mov byte [esp + 0x64c], cl
mov ecx, 0x63
lea edi, [esp + 0x64d]
mov byte [esp + 0x47], al
mov byte [esp + 0x70], al
mov dword [esp + 0x8d], edx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov dword [esp + 0x91], edx
mov dword [esp + 0x49], eax
mov word [esp + 0x95], dx
mov dword [esp + 0x4d], eax
xor ecx, ecx
mov dword [esp + 0x51], eax
mov byte [esp + 0x97], dl
mov byte [esp + 0x48], dl
mov dword [esp + 0x55], eax
mov dword [esp + 0x5d], ecx
mov dword [esp + 0x11], edx
mov word [esp + 0x59], ax
mov dword [esp + 0x61], ecx
mov dword [esp + 0x15], edx
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], al
mov dword [esp + 0x65], ecx
mov dword [esp + 0x19], edx
mov dword [esp + 0x25], eax
mov dword [esp + 0x69], ecx
mov dword [esp + 0x1d], edx
mov dword [esp + 0x29], eax
mov word [esp + 0x6d], cx
mov word [esp + 0x21], dx
mov dword [esp + 0x2d], eax
mov byte [esp + 0x3c], 0
mov byte [esp + 0x84], 0
mov byte [esp + 0x6f], cl
mov byte [esp + 0x10], cl
mov byte [esp + 0x23], dl
mov byte [esp + 0x24], cl
mov dword [esp + 0x31], eax
mov word [esp + 0x35], ax
mov byte [esp + 0x9c], cl
mov ecx, 0x3f
lea edi, [esp + 0x9d]
mov byte [esp + 0x37], al
mov ebx, dword [esp + 0x7e0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
test ebx, ebx
stosb byte es:[edi], al
jne 0x522df0
pop edi
pop esi
pop ebp
mov eax, 0xc9
pop ebx
add esp, 0x7cc
ret
mov ebp, dword [esp + 0x7e4]
cmp dword [ebp + 4], 0x100
jbe 0x522e10
pop edi
pop esi
pop ebp
mov eax, 0x132
pop ebx
add esp, 0x7cc
ret
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x88], ecx
xor eax, eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x20], ecx
mov esi, dword [sym.imp.MSVCR90.dll_sprintf]
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], edx
mov ecx, 0x40
lea edi, [esp + 0x9c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x28], edx
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x2c], edx
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x34], edx
push 0x54a1f8
push ecx
mov dword [esp + 0x40], edx
call esi
mov edx, dword [ebx + 4]
lea eax, [esp + 0x54]
push edx
push 0x54a1f8
push eax
call esi
mov ecx, dword [ebx]
lea edx, [esp + 0x74]
push ecx
push 0x54a1f8
push edx
call esi
mov eax, dword [ebp]
lea ecx, [esp + 0x34]
push eax
push 0x54a1f8
push ecx
call esi
mov edx, dword [ebp + 4]
lea eax, [esp + 0x54]
push edx
push 0x54a1f8
push eax
call esi
mov ecx, dword [ebp + 4]
mov eax, dword [ebp + 8]
lea edx, [esp + 0xd8]
push ecx
push edx
push eax
call fcn.00527730
add esp, 0x48
lea ecx, [esp + 0x9c]
lea edx, [esp + 0x24]
lea eax, [esp + 0x10]
push ecx
push edx
lea ecx, [esp + 0x64]
push eax
lea edx, [esp + 0x54]
push ecx
push edx
lea eax, [esp + 0x98]
push eax
push 6
push 0x54a1f4
call fcn.00527620
mov edx, eax
add esp, 0x20
test edx, edx
jne 0x522f50
pop edi
pop esi
pop ebp
mov eax, 0x132
pop ebx
add esp, 0x7cc
ret
mov ecx, 0x64
xor eax, eax
lea edi, [esp + 0x19c]
lea ebp, [esp + 0x19c]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push edx
mov eax, ecx
mov esi, edi
mov edi, ebp
mov ebp, dword [sym.imp.MSVCR90.dll_free]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebp
mov ecx, 0x64
xor eax, eax
lea edi, [esp + 0x650]
lea edx, [esp + 0x1a0]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x650]
push ecx
push edx
push str.secureMsgStr
push 3
push 0x54a1e4
call fcn.00527620
mov edx, eax
add esp, 0x18
test edx, edx
jne 0x522fd7
pop edi
pop esi
pop ebp
mov eax, 0x132
pop ebx
add esp, 0x7cc
ret
mov ecx, 0x64
xor eax, eax
lea edi, [esp + 0x32c]
lea esi, [esp + 0x32c]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x98], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x98]
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebp
lea edi, [esp + 0x330]
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x38], ecx
shr cx, 4
test cx, cx
jbe 0x52305e
and ecx, 0xffff
lea esi, [esp + 0x32c]
mov edi, ecx
push esi
push 0x5498d0
call fcn.0051a170
add esp, 8
add esi, 0x10
dec edi
jne 0x52304a
lea ecx, [esp + 0x38]
lea edx, [esp + 0x4bc]
push ecx
push edx
lea eax, [esp + 0x334]
push ebx
push eax
call fcn.00523860
add esp, 0x10
test eax, eax
jne 0x523242
mov eax, dword [esp + 0x38]
mov cx, ax
shr cx, 4
test cx, cx
jbe 0x5230bb
and ecx, 0xffff
lea esi, [esp + 0x4bc]
mov edi, ecx
push esi
push 0x5498d0
call fcn.0051a6a0
add esp, 8
add esi, 0x10
dec edi
jne 0x5230a3
mov eax, dword [esp + 0x38]
xor ecx, ecx
and eax, 0xffff
mov dword [esp + 0x70], ecx
xor edx, edx
mov dword [esp + 0x74], ecx
mov byte [esp + eax + 0x4bc], 0
mov dword [esp + 0x78], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x7c], ecx
xor eax, eax
mov dword [esp + 0x80], ecx
mov ecx, 0x64
lea edi, [esp + 0x19c]
mov dword [esp + 0x40], edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x19c]
mov dword [esp + 0x44], edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x74]
push ecx
lea eax, [esp + 0x4c4]
push edx
push eax
push 3
push 0x54a1e4
call fcn.00527460
add esp, 0x18
cmp eax, 0xffffffff
jne 0x52313d
pop edi
pop esi
pop ebp
mov eax, 0x12f
pop ebx
add esp, 0x7cc
ret
mov esi, str.error
lea eax, [esp + 0x70]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x52316e
test cl, cl
je 0x52316a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x52316e
add eax, 2
add esi, 2
test cl, cl
jne 0x523146
xor eax, eax
jmp 0x523173
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52318f
lea eax, [esp + 0x3c]
push eax
call fcn.00526df0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7cc
ret
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ecx
xor eax, eax
mov dword [esp + 0x20], ecx
mov ecx, 0x40
lea edi, [esp + 0x9c]
mov dword [esp + 0x30], edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x34], edx
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x1a4]
push edx
push eax
push 3
push 0x54a1f4
call fcn.00527460
add esp, 0x18
cmp eax, 0xffffffff
jne 0x523209
pop edi
pop esi
pop ebp
mov eax, 0x12f
pop ebx
add esp, 0x7cc
ret
lea ecx, [esp + 0x10]
push ecx
call fcn.00526df0
mov esi, dword [esp + 0x7ec]
lea edx, [esp + 0x28]
push edx
mov dword [esi], eax
call fcn.00526df0
mov ecx, dword [esi + 8]
mov dword [esi + 4], eax
add eax, eax
lea edx, [esp + 0xa4]
push eax
push ecx
push edx
call fcn.00527770
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7cc
ret