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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3bc
mov dword [ebp - 0x370], eax
test ecx, ecx
je 0x527374
mov dword [ebp - 0x36c], edx
dec ecx
mov dword [ebp - 0x3b4], ecx
mov edx, eax
mov eax, dword [eax]
mov edx, dword [edx + 4]
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], edx
mov ebx, dword [ebp - 0x370]
mov ecx, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x380], ecx
mov dword [ebp - 0x37c], ebx
mov edi, dword [ebp - 0x370]
mov esi, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov dword [ebp - 0x388], esi
mov dword [ebp - 0x384], edi
mov edx, dword [ebp - 0x370]
mov eax, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], edx
mov ebx, dword [ebp - 0x370]
mov ecx, dword [ebx + 0x20]
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], ebx
mov edi, dword [ebp - 0x370]
mov esi, dword [edi + 0x28]
mov edi, dword [edi + 0x2c]
mov dword [ebp - 0x3a0], esi
mov dword [ebp - 0x39c], edi
mov edx, dword [ebp - 0x370]
mov eax, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], edx
mov ebx, dword [ebp - 0x370]
mov ecx, dword [ebx + 0x38]
mov ebx, dword [ebx + 0x3c]
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x3ac], ebx
lea esi, [ebp - 0x2d8]
mov dword [ebp - 0x3bc], esi
nop
mov eax, dword [ebp - 0x380]
mov edx, dword [ebp - 0x37c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x388]
mov ecx, dword [ebp - 0x384]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x390]
mov ebx, dword [ebp - 0x38c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3a0]
mov esi, dword [ebp - 0x39c]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x3a8]
mov edi, dword [ebp - 0x3a4]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x394]
mov dword [ebp - 0x2f0], edx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x378]
mov ebx, dword [ebp - 0x374]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x2f4], ebx
mov dword [ebp - 0x308], 0
lea eax, [ebp - 0x58]
xor ebx, ebx
mov dword [ebp - 0x30c], ebx
lea esi, [esi]
mov esi, dword [ebp - 0x30c]
mov edi, dword [ebp - 0x36c]
mov edx, dword [edi + esi*8]
mov ecx, dword [edi + esi*8 + 4]
bswap ecx
bswap edx
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x344], edx
mov edx, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f4]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x2f0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ebx
mov ebx, dword [ebp - 0x348]
mov esi, dword [ebp - 0x344]
mov dword [eax + 0x40], ebx
mov dword [eax + 0x44], esi
mov edx, ebx
mov ecx, esi
mov esi, dword [ebp - 0x30c]
add edx, dword [esi*8 + 0x69b140]
adc ecx, dword [esi*8 + 0x69b144]
add edx, dword [eax + 0x38]
adc ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2ec]
mov edi, ebx
shrd ebx, esi, 0x12
shrd esi, edi, 0x12
mov dword [ebp - 0x300], ebx
mov dword [ebp - 0x2fc], esi
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2ec]
mov edi, ebx
shrd ebx, esi, 0xe
shrd esi, edi, 0xe
xor ebx, dword [ebp - 0x300]
mov dword [ebp - 0x2e8], ebx
xor esi, dword [ebp - 0x2fc]
mov dword [ebp - 0x308], esi
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2ec]
mov edi, ebx
shld ebx, esi, 0x17
shld esi, edi, 0x17
mov edi, dword [ebp - 0x2e8]
xor edi, ebx
mov dword [ebp - 0x350], edi
mov edi, dword [ebp - 0x308]
xor edi, esi
mov dword [ebp - 0x34c], edi
add edx, dword [ebp - 0x350]
adc ecx, dword [ebp - 0x34c]
mov ebx, dword [ebp - 0x2f0]
not ebx
mov esi, dword [ebp - 0x2ec]
not esi
and ebx, dword [eax + 0x30]
and esi, dword [eax + 0x34]
mov edi, dword [ebp - 0x2f0]
and edi, dword [eax + 0x28]
mov dword [ebp - 0x308], edi
mov edi, dword [ebp - 0x2ec]
and edi, dword [eax + 0x2c]
xor ebx, dword [ebp - 0x308]
mov dword [ebp - 0x358], ebx
xor esi, edi
mov dword [ebp - 0x354], esi
add edx, dword [ebp - 0x358]
adc ecx, dword [ebp - 0x354]
mov ebx, edx
mov esi, ecx
add ebx, dword [eax + 0x18]
adc esi, dword [eax + 0x1c]
mov dword [ebp - 0x2f0], ebx
mov dword [ebp - 0x2ec], esi
mov ebx, dword [eax + 0x10]
xor ebx, dword [eax + 8]
mov esi, dword [eax + 0x14]
xor esi, dword [eax + 0xc]
and ebx, dword [ebp - 0x2f8]
and esi, dword [ebp - 0x2f4]
mov edi, dword [eax + 0x10]
and edi, dword [eax + 8]
mov dword [ebp - 0x308], edi
mov edi, dword [eax + 0x14]
and edi, dword [eax + 0xc]
xor ebx, dword [ebp - 0x308]
mov dword [ebp - 0x360], ebx
xor esi, edi
mov dword [ebp - 0x35c], esi
mov ebx, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov edi, ebx
shld ebx, esi, 0x1e
shld esi, edi, 0x1e
mov dword [ebp - 0x300], ebx
mov dword [ebp - 0x2fc], esi
mov ebx, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov edi, ebx
shrd ebx, esi, 0x1c
shrd esi, edi, 0x1c
mov dword [ebp - 0x304], esi
xor ebx, dword [ebp - 0x300]
mov dword [ebp - 0x2e8], ebx
xor esi, dword [ebp - 0x2fc]
mov dword [ebp - 0x308], esi
mov ebx, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov edi, ebx
shld ebx, esi, 0x19
shld esi, edi, 0x19
mov edi, dword [ebp - 0x2e8]
xor edi, ebx
mov dword [ebp - 0x368], edi
mov edi, dword [ebp - 0x308]
xor edi, esi
mov dword [ebp - 0x364], edi
mov ebx, dword [ebp - 0x360]
mov esi, dword [ebp - 0x35c]
add ebx, dword [ebp - 0x368]
adc esi, dword [ebp - 0x364]
mov dword [ebp - 0x2f8], ebx
mov dword [ebp - 0x2f4], esi
add dword [ebp - 0x2f8], edx
adc dword [ebp - 0x2f4], ecx
inc dword [ebp - 0x30c]
sub eax, 8
cmp dword [ebp - 0x30c], 0x10
jne 0x526c20
mov esi, dword [ebp - 0x30c]
mov dword [ebp - 0x308], esi
lea eax, [ebp - 0xd8]
nop
mov edx, dword [eax + 0xb8]
mov ecx, dword [eax + 0xbc]
mov ebx, edx
mov esi, ecx
shrd ebx, ecx, 8
shrd esi, edx, 8
mov dword [ebp - 0x300], ebx
mov dword [ebp - 0x2fc], esi
mov ebx, edx
mov esi, ecx
shrd ebx, ecx, 1
shrd esi, edx, 1
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x2e4], esi
mov edi, dword [ebp - 0x2e8]
xor edi, dword [ebp - 0x300]
mov ebx, dword [ebp - 0x2e4]
xor ebx, dword [ebp - 0x2fc]
shrd edx, ecx, 7
shr ecx, 7
xor edi, edx
mov dword [ebp - 0x318], edi
xor ebx, ecx
mov dword [ebp - 0x314], ebx
mov edx, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x314]
add edx, dword [eax + 0x78]
adc ecx, dword [eax + 0x7c]
add edx, dword [eax + 0xc0]
adc ecx, dword [eax + 0xc4]
mov ebx, dword [eax + 0x50]
mov esi, dword [eax + 0x54]
mov edi, ebx
shld ebx, esi, 3
shld esi, edi, 3
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x2e4], esi
mov ebx, dword [eax + 0x50]
mov esi, dword [eax + 0x54]
mov edi, ebx
shrd ebx, esi, 0x13
shrd esi, edi, 0x13
mov dword [ebp - 0x2fc], esi
mov esi, dword [ebp - 0x2e8]
xor esi, ebx
mov dword [ebp - 0x30c], esi
mov edi, dword [ebp - 0x2e4]
xor edi, dword [ebp - 0x2fc]
mov dword [ebp - 0x2e8], edi
mov ebx, dword [eax + 0x50]
mov esi, dword [eax + 0x54]
shrd ebx, esi, 6
shr esi, 6
mov edi, dword [ebp - 0x30c]
xor edi, ebx
mov dword [ebp - 0x320], edi
mov edi, dword [ebp - 0x2e8]
xor edi, esi
mov dword [ebp - 0x31c], edi
add edx, dword [ebp - 0x320]
adc ecx, dword [ebp - 0x31c]
mov ebx, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x2f0]
mov edi, dword [ebp - 0x2ec]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], edi
mov dword [eax + 0x40], edx
mov dword [eax + 0x44], ecx
mov edi, dword [ebp - 0x308]
add edx, dword [edi*8 + 0x69b140]
adc ecx, dword [edi*8 + 0x69b144]
add edx, dword [eax + 0x38]
adc ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2ec]
mov edi, ebx
shrd ebx, esi, 0x12
shrd esi, edi, 0x12
mov dword [ebp - 0x3c8], ebx
mov dword [ebp - 0x3c4], esi
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2ec]
mov edi, ebx
shrd ebx, esi, 0xe
shrd esi, edi, 0xe
xor ebx, dword [ebp - 0x3c8]
mov dword [ebp - 0x300], ebx
xor esi, dword [ebp - 0x3c4]
mov dword [ebp - 0x2e8], esi
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2ec]
mov edi, ebx
shld ebx, esi, 0x17
shld esi, edi, 0x17
mov edi, dword [ebp - 0x300]
xor edi, ebx
mov dword [ebp - 0x328], edi
mov edi, dword [ebp - 0x2e8]
xor edi, esi
mov dword [ebp - 0x324], edi
add edx, dword [ebp - 0x328]
adc ecx, dword [ebp - 0x324]
mov ebx, dword [ebp - 0x2f0]
not ebx
mov esi, dword [ebp - 0x2ec]
not esi
and ebx, dword [eax + 0x30]
and esi, dword [eax + 0x34]
mov edi, dword [ebp - 0x2f0]
and edi, dword [eax + 0x28]
mov dword [ebp - 0x2e8], edi
mov edi, dword [ebp - 0x2ec]
and edi, dword [eax + 0x2c]
xor ebx, dword [ebp - 0x2e8]
mov dword [ebp - 0x330], ebx
xor esi, edi
mov dword [ebp - 0x32c], esi
add edx, dword [ebp - 0x330]
adc ecx, dword [ebp - 0x32c]
mov ebx, edx
mov esi, ecx
add ebx, dword [eax + 0x18]
adc esi, dword [eax + 0x1c]
mov dword [ebp - 0x2f0], ebx
mov dword [ebp - 0x2ec], esi
mov edi, dword [eax + 0x10]
mov ebx, dword [eax + 8]
xor ebx, edi
mov esi, dword [eax + 0x14]
xor esi, dword [eax + 0xc]
and ebx, dword [ebp - 0x2f8]
and esi, dword [ebp - 0x2f4]
and edi, dword [eax + 8]
mov dword [ebp - 0x300], edi
mov edi, dword [eax + 0x14]
and edi, dword [eax + 0xc]
xor ebx, dword [ebp - 0x300]
mov dword [ebp - 0x338], ebx
xor esi, edi
mov dword [ebp - 0x334], esi
mov ebx, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov edi, ebx
shld ebx, esi, 0x1e
shld esi, edi, 0x1e
mov dword [ebp - 0x3c8], ebx
mov dword [ebp - 0x3c4], esi
mov ebx, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov edi, ebx
shrd ebx, esi, 0x1c
shrd esi, edi, 0x1c
mov dword [ebp - 0x2e4], esi
xor ebx, dword [ebp - 0x3c8]
mov dword [ebp - 0x300], ebx
xor esi, dword [ebp - 0x3c4]
mov dword [ebp - 0x2e8], esi
mov ebx, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov edi, ebx
shld ebx, esi, 0x19
shld esi, edi, 0x19
mov edi, dword [ebp - 0x300]
xor edi, ebx
mov dword [ebp - 0x340], edi
mov edi, dword [ebp - 0x2e8]
xor edi, esi
mov dword [ebp - 0x33c], edi
mov ebx, dword [ebp - 0x338]
mov esi, dword [ebp - 0x334]
add ebx, dword [ebp - 0x340]
adc esi, dword [ebp - 0x33c]
mov dword [ebp - 0x2f8], ebx
mov dword [ebp - 0x2f4], esi
add dword [ebp - 0x2f8], edx
adc dword [ebp - 0x2f4], ecx
inc dword [ebp - 0x308]
sub eax, 8
cmp eax, dword [ebp - 0x3bc]
jne 0x526ea8
mov esi, dword [ebp - 0x2f8]
mov edi, dword [ebp - 0x2f4]
add dword [ebp - 0x378], esi
adc dword [ebp - 0x374], edi
mov eax, dword [ebp - 0x378]
mov edx, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x370]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ebx, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2cc]
add dword [ebp - 0x380], ebx
adc dword [ebp - 0x37c], esi
mov esi, dword [ebp - 0x380]
mov edi, dword [ebp - 0x37c]
mov eax, ecx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
add dword [ebp - 0x388], edx
adc dword [ebp - 0x384], ecx
mov ecx, dword [ebp - 0x388]
mov ebx, dword [ebp - 0x384]
mov esi, eax
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
mov eax, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2bc]
add dword [ebp - 0x390], eax
adc dword [ebp - 0x38c], edx
mov edx, dword [ebp - 0x390]
mov ecx, dword [ebp - 0x38c]
mov ebx, esi
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], ecx
mov esi, dword [ebp - 0x2f0]
mov edi, dword [ebp - 0x2ec]
add dword [ebp - 0x398], esi
adc dword [ebp - 0x394], edi
mov eax, dword [ebp - 0x398]
mov edx, dword [ebp - 0x394]
mov ecx, ebx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
mov ebx, dword [ebp - 0x2b0]
mov esi, dword [ebp - 0x2ac]
add dword [ebp - 0x3a0], ebx
adc dword [ebp - 0x39c], esi
mov esi, dword [ebp - 0x3a0]
mov edi, dword [ebp - 0x39c]
mov eax, ecx
mov dword [ecx + 0x28], esi
mov dword [ecx + 0x2c], edi
mov edx, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
add dword [ebp - 0x3a8], edx
adc dword [ebp - 0x3a4], ecx
mov ecx, dword [ebp - 0x3a8]
mov ebx, dword [ebp - 0x3a4]
mov esi, eax
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], ebx
mov eax, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
add dword [ebp - 0x3b0], eax
adc dword [ebp - 0x3ac], edx
mov edx, dword [ebp - 0x3b0]
mov ecx, dword [ebp - 0x3ac]
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], ecx
mov eax, dword [ebp - 0x3b4]
test eax, eax
je 0x527374
sub dword [ebp - 0x36c], 0xffffff80
dec dword [ebp - 0x3b4]
jmp 0x526b6c
add esp, 0x3bc
pop ebx
pop esi
pop edi
leave
ret