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

Disassembly:
sub esp, 0x16c
mov eax, dword [esp + 0x170]
mov edx, dword [eax]
mov dword [esp + 0xc4], edx
mov edx, dword [eax + 4]
mov dword [esp + 0xa4], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xb4], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x8c], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x74], edx
mov edx, dword [eax + 0x14]
push ebx
xor ebx, ebx
mov dword [esp + 0xc0], edx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
push ebp
mov dword [esp + 0x9c], eax
mov eax, ecx
push esi
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x18]
xor esi, esi
sub eax, ecx
push edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x58], eax
jmp 0x525cc9
mov eax, dword [esp + 0x58]
xor ebx, ebx
lea edx, [eax + esi*4]
mov edi, dword [esp + edx + 0x1c]
xor eax, eax
push eax
mov eax, dword [esp + 0xd8]
push eax
push ebx
push edi
call fcn.005565d0
mov ecx, dword [esp + esi*4 + 0x18]
xor ebp, ebp
add eax, ecx
adc edx, ebp
mov dword [esp + esi*4 + 0x18], eax
xor eax, eax
push eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb8]
push edx
push ebx
push edi
call fcn.005565d0
mov ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
adc ebp, edx
mov edx, dword [esp + esi*4 + 0x1c]
xor ecx, ecx
add eax, edx
mov edx, dword [esp + 0xc4]
adc ebp, ecx
mov dword [esp + esi*4 + 0x1c], eax
xor eax, eax
push eax
push edx
push ebx
push edi
mov dword [esp + 0xd0], ecx
call fcn.005565d0
mov ecx, dword [esp + esi*4 + 0x20]
add ebp, eax
mov eax, dword [esp + 0xc0]
adc eax, edx
xor edx, edx
add ebp, ecx
adc eax, edx
mov dword [esp + 0x14], eax
xor eax, eax
push eax
mov eax, dword [esp + 0xa0]
push eax
push ebx
mov dword [esp + esi*4 + 0x2c], ebp
push edi
xor ebp, ebp
call fcn.005565d0
mov ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
adc ebp, edx
mov edx, dword [esp + esi*4 + 0x24]
xor ecx, ecx
add eax, edx
mov edx, dword [esp + 0x84]
adc ebp, ecx
mov dword [esp + esi*4 + 0x24], eax
xor eax, eax
push eax
push edx
push ebx
push edi
mov dword [esp + 0xc0], ecx
call fcn.005565d0
mov ecx, dword [esp + esi*4 + 0x28]
add ebp, eax
mov eax, dword [esp + 0xb0]
adc eax, edx
xor edx, edx
add ebp, ecx
adc eax, edx
mov dword [esp + 0x14], eax
xor eax, eax
push eax
mov eax, dword [esp + 0xd0]
push eax
push ebx
mov dword [esp + esi*4 + 0x34], ebp
push edi
xor ebp, ebp
call fcn.005565d0
mov ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
adc ebp, edx
mov edx, dword [esp + esi*4 + 0x2c]
xor ecx, ecx
add eax, edx
mov edx, dword [esp + 0x8c]
adc ebp, ecx
mov dword [esp + esi*4 + 0x2c], eax
xor eax, eax
push eax
push edx
push ebx
push edi
mov dword [esp + 0xa8], ecx
call fcn.005565d0
mov ecx, dword [esp + esi*4 + 0x30]
add ebp, eax
mov eax, dword [esp + 0x98]
adc eax, edx
xor edx, edx
add ebp, ecx
adc eax, edx
mov dword [esp + 0x14], eax
xor eax, eax
push eax
mov eax, dword [esp + 0xa8]
push eax
push ebx
mov dword [esp + esi*4 + 0x3c], ebp
push edi
xor ebp, ebp
call fcn.005565d0
mov ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
adc ebp, edx
mov edx, dword [esp + esi*4 + 0x34]
xor ecx, ecx
add eax, edx
adc ebp, ecx
mov dword [esp + esi*4 + 0x34], eax
mov dword [esp + esi*4 + 0x38], ebp
inc esi
cmp esi, 8
jl 0x525cc3
xor esi, esi
mov ebx, 1
lea ecx, [esi - 0x20]
lea esp, [esp]
lea ebp, [ebx - 1]
xor edi, edi
cmp ebp, 0x10
jge 0x525e79
mov eax, dword [esp + ecx + 0x38]
mov edx, 0x3d1
mul edx
add esi, eax
adc edi, edx
lea eax, [ebx - 2]
cmp eax, 0xf
ja 0x525e8a
mov edx, dword [esp + ecx + 0x34]
add esi, edx
adc edi, 0
cmp ebp, 8
jl 0x525e98
mov eax, dword [esp + ecx + 0x18]
add esi, eax
adc edi, 0
mov dword [esp + ecx + 0x13c], esi
xor esi, esi
cmp ebx, 0x10
jge 0x525eb5
mov eax, dword [esp + ecx + 0x3c]
mov edx, 0x3d1
mul edx
add edi, eax
adc esi, edx
cmp ebx, 1
jl 0x525ec8
cmp ebx, 0x11
jge 0x525ec8
mov eax, dword [esp + ecx + 0x38]
add edi, eax
adc esi, 0
cmp ebx, 8
jl 0x525ed6
mov edx, dword [esp + ecx + 0x1c]
add edi, edx
adc esi, 0
mov dword [esp + ecx + 0x140], edi
lea ebp, [ebx + 1]
xor edi, edi
cmp ebp, 0x10
jge 0x525ef6
mov eax, dword [esp + ecx + 0x40]
mov edx, 0x3d1
mul edx
add esi, eax
adc edi, edx
cmp ebp, 1
jl 0x525f09
cmp ebp, 0x11
jge 0x525f09
mov eax, dword [esp + ecx + 0x3c]
add esi, eax
adc edi, 0
cmp ebp, 8
jl 0x525f17
mov edx, dword [esp + ecx + 0x20]
add esi, edx
adc edi, 0
mov dword [esp + ecx + 0x144], esi
lea ebp, [ebx + 2]
xor esi, esi
cmp ebp, 0x10
jge 0x525f37
mov eax, dword [esp + ecx + 0x44]
mov edx, 0x3d1
mul edx
add edi, eax
adc esi, edx
cmp ebp, 1
jl 0x525f4a
cmp ebp, 0x11
jge 0x525f4a
mov eax, dword [esp + ecx + 0x40]
add edi, eax
adc esi, 0
cmp ebp, 8
jl 0x525f58
mov edx, dword [esp + ecx + 0x24]
add edi, edx
adc esi, 0
mov dword [esp + ecx + 0x148], edi
lea ebp, [ebx + 3]
xor edi, edi
cmp ebp, 0x10
jge 0x525f78
mov eax, dword [esp + ecx + 0x48]
mov edx, 0x3d1
mul edx
add esi, eax
adc edi, edx
cmp ebp, 1
jl 0x525f8b
cmp ebp, 0x11
jge 0x525f8b
mov eax, dword [esp + ecx + 0x44]
add esi, eax
adc edi, 0
cmp ebp, 8
jl 0x525f99
mov edx, dword [esp + ecx + 0x28]
add esi, edx
adc edi, 0
mov dword [esp + ecx + 0x14c], esi
lea ebp, [ebx + 4]
xor esi, esi
cmp ebp, 0x10
jge 0x525fb9
mov eax, dword [esp + ecx + 0x4c]
mov edx, 0x3d1
mul edx
add edi, eax
adc esi, edx
cmp ebp, 1
jl 0x525fcc
cmp ebp, 0x11
jge 0x525fcc
mov eax, dword [esp + ecx + 0x48]
add edi, eax
adc esi, 0
cmp ebp, 8
jl 0x525fda
mov edx, dword [esp + ecx + 0x2c]
add edi, edx
adc esi, 0
add ebx, 6
mov dword [esp + ecx + 0x150], edi
lea eax, [ebx - 1]
add ecx, 0x18
cmp eax, 0x18
jl 0x525e60
xor esi, esi
lea ebx, [esi + 1]
xor edi, edi
lea ebx, [ebx]
xor ecx, ecx
not esi
add esi, 1
not ecx
lea ebp, [ebx - 1]
adc ecx, 0
cmp ebp, 8
jge 0x526026
mov eax, dword [esp + edi + 0x15c]
mov edx, 0x3d1
mul edx
sub esi, eax
sbb ecx, edx
lea eax, [ebx - 2]
cmp eax, 7
ja 0x52603a
mov edx, dword [esp + edi + 0x158]
sub esi, edx
sbb ecx, 0
cmp ebp, 8
jl 0x52604b
mov eax, dword [esp + edi + 0x13c]
add esi, eax
adc ecx, 0
not ecx
inc ecx
mov dword [esp + edi + 0xdc], esi
mov esi, ecx
xor ecx, ecx
not esi
add esi, 1
not ecx
adc ecx, 0
cmp ebx, 8
jge 0x52607a
mov eax, dword [esp + edi + 0x160]
mov edx, 0x3d1
mul edx
sub esi, eax
sbb ecx, edx
cmp ebx, 1
jl 0x526090
cmp ebx, 9
jge 0x526090
mov eax, dword [esp + edi + 0x15c]
sub esi, eax
sbb ecx, 0
cmp ebx, 8
jl 0x5260a1
mov edx, dword [esp + edi + 0x140]
add esi, edx
adc ecx, 0
not ecx
inc ecx
mov dword [esp + edi + 0xe0], esi
mov esi, ecx
xor ecx, ecx
not esi
add esi, 1
not ecx
lea ebp, [ebx + 1]
adc ecx, 0
cmp ebp, 8
jge 0x5260d3
mov eax, dword [esp + edi + 0x164]
mov edx, 0x3d1
mul edx
sub esi, eax
sbb ecx, edx
cmp ebp, 1
jl 0x5260e9
cmp ebp, 9
jge 0x5260e9
mov eax, dword [esp + edi + 0x160]
sub esi, eax
sbb ecx, 0
cmp ebp, 8
jl 0x5260fa
mov edx, dword [esp + edi + 0x144]
add esi, edx
adc ecx, 0
not ecx
inc ecx
mov dword [esp + edi + 0xe4], esi
xor esi, esi
not ecx
add ecx, 1
not esi
lea ebp, [ebx + 2]
adc esi, 0
cmp ebp, 8
jge 0x52612a
mov eax, dword [esp + edi + 0x168]
mov edx, 0x3d1
mul edx
sub ecx, eax
sbb esi, edx
cmp ebp, 1
jl 0x526140
cmp ebp, 9
jge 0x526140
mov eax, dword [esp + edi + 0x164]
sub ecx, eax
sbb esi, 0
cmp ebp, 8
jl 0x526151
mov edx, dword [esp + edi + 0x148]
add ecx, edx
adc esi, 0
add ebx, 4
not esi
mov dword [esp + edi + 0xe8], ecx
lea eax, [ebx - 1]
inc esi
add edi, 0x10
cmp eax, 0x10
jl 0x526000
xor eax, eax
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x18]
xor esi, esi
sub ecx, edx
sbb eax, esi
not eax
inc eax
mov edx, eax
xor eax, eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x1c]
sub ecx, edx
sbb eax, esi
mov edx, dword [esp + 0xe0]
sub ecx, edx
sbb eax, esi
not eax
inc eax
mov edx, eax
xor eax, eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x20]
sub ecx, edx
sbb eax, esi
mov edx, dword [esp + 0xe4]
sub ecx, edx
sbb eax, esi
not eax
inc eax
mov edx, eax
xor eax, eax
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x24]
sub ecx, edx
mov edx, dword [esp + 0xe8]
sbb eax, esi
sub ecx, edx
sbb eax, esi
not eax
inc eax
mov edx, eax
xor eax, eax
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x28]
sub ecx, edx
mov edx, dword [esp + 0xec]
sbb eax, esi
sub ecx, edx
sbb eax, esi
not eax
inc eax
mov edx, eax
xor eax, eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x2c]
sub ecx, edx
mov edx, dword [esp + 0xf0]
sbb eax, esi
sub ecx, edx
sbb eax, esi
not eax
inc eax
mov edx, eax
xor eax, eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x30]
sub ecx, edx
mov edx, dword [esp + 0xf4]
sbb eax, esi
sub ecx, edx
sbb eax, esi
not eax
inc eax
mov edx, eax
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x34]
xor eax, eax
sub ecx, edx
mov edx, dword [esp + 0xf8]
sbb eax, esi
mov ebx, dword [esp + 0x5c]
sub ecx, edx
sbb eax, esi
sub eax, dword [esp + 0xfc]
mov dword [esp + 0x7c], ecx
add eax, dword [esp + 0x38]
mov ecx, 8
mov ebp, eax
lea esi, [esp + 0x60]
mov edi, ebx
mov dword [esp + 0x80], ebp
rep movsd dword es:[edi], dword [esi]
push 0x6450d0
mov ecx, ebx
call fcn.00523030
xor ecx, ecx
test al, al
sete cl
xor edx, edx
test ebp, ebp
setne dl
or ecx, edx
push ecx
push 0x6450d0
mov ecx, ebx
call fcn.00522bd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x16c
ret 4