Function at 0x528b20
Capabilities:
Read file on windows
Resolve function by parsing pe exports
Terminate process

Disassembly:
sub esp, 0xb8
push ebx
push ebp
push esi
push edi
push 0xa10
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
call fcn.0052c5f9
push 0xa10
mov ebp, eax
call fcn.0052c5f9
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xd4]
push 0x8000
push eax
call fcn.00531968
mov ecx, dword [esp + 0xe0]
push 0x180
mov esi, eax
push 0x8302
push ecx
mov dword [esp + 0x48], esi
call fcn.00531968
push 0x20
mov edi, eax
push ebp
push esi
mov dword [esp + 0x64], edi
call fcn.0052fc34
xor eax, eax
xor edx, edx
mov al, byte [ebp + 0x13]
mov dl, byte [ebp + 0x12]
xor ebx, ebx
xor ecx, ecx
mov bl, byte [ebp + 0x17]
mov cl, byte [ebp + 0x16]
shl eax, 8
add eax, edx
push 8
shl ebx, 8
add ebx, ecx
lea ecx, [eax + 7]
shr ecx, 1
and ecx, 0x7ffc
mov edx, ebx
mov dword [esp + 0x44], ecx
imul ecx, ebx
mov dword [esp + 0x54], eax
mov byte [ebp + 4], al
shr eax, 8
shr edx, 8
push ebp
push edi
mov dword [esp + 0x78], ecx
mov byte [ebp], 0x41
mov byte [ebp + 1], 0x57
mov byte [ebp + 2], 0x42
mov byte [ebp + 3], 0x4d
mov byte [ebp + 5], al
mov byte [ebp + 6], bl
mov byte [ebp + 7], dl
call fcn.0052f34a
mov eax, dword [esp + 0x5c]
add esp, 0x34
cmp eax, 0x280
ja 0x528fda
cmp ebx, 0x1e0
ja 0x528fda
mov ecx, 0x10
or eax, 0xffffffff
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x528c55
mov eax, 0x80808080
xor ecx, ecx
mov word [esp + 0x64], ax
mov word [esp + 0x6d], cx
mov byte [esp + 0x66], al
mov byte [esp + 0x67], 0
mov byte [esp + 0x6c], 0xff
mov byte [esp + 0x6f], cl
mov eax, dword [esp + 0xd8]
test eax, eax
jne 0x528c82
or edx, 0xffffffff
mov dword [esp + 0x48], 0
mov word [esp + 0x84], dx
mov byte [esp + 0x87], 0
mov byte [esp + 0x86], dl
push 0
push 0x36
push esi
call fcn.0052f2b0
mov edi, dword [esp + 0x2c]
push 0x40
push edi
push esi
call fcn.0052fc34
mov esi, edi
mov ecx, 0x10
lea edi, [esp + 0xa0]
xor eax, eax
mov al, byte [ebp + 0xa]
push 0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x48]
push eax
push ecx
call fcn.0052f2b0
add esp, 0x24
mov edx, ebx
dec ebx
test edx, edx
je 0x528f60
mov eax, dword [esp + 0x18]
imul eax, ebx
add eax, 8
inc ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
push eax
push ebp
push ecx
xor esi, esi
call fcn.0052fc34
mov eax, dword [esp + 0x34]
add esp, 0xc
xor edi, edi
test eax, eax
jbe 0x528ea5
mov al, byte [esi + ebp]
mov ecx, edi
and ecx, 1
mov dword [esp + 0x24], ecx
je 0x528d11
and al, 0xf
jmp 0x528d14
shr al, 4
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x30]
and eax, 0xff
shl eax, 2
mov dl, byte [esp + eax + 0x89]
mov bl, byte [esp + eax + 0x88]
mov cl, byte [esp + eax + 0x8a]
mov byte [esp + 0x15], dl
mov dl, byte [esp + eax + 0x8b]
xor al, al
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], dl
mov byte [esp + 0x1c], al
mov ecx, dword [esp + 0x1c]
and ecx, 0xff
shl ecx, 2
cmp byte [esp + ecx + 0x48], bl
jne 0x528d83
mov dl, byte [esp + 0x15]
cmp byte [esp + ecx + 0x49], dl
jne 0x528d83
mov dl, byte [esp + 0x16]
cmp byte [esp + ecx + 0x4a], dl
jne 0x528d83
mov dl, byte [esp + 0x17]
cmp byte [esp + ecx + 0x4b], dl
je 0x528d8f
inc al
cmp al, 0x10
mov byte [esp + 0x1c], al
jb 0x528d52
jmp 0x528d93
cmp al, 0x10
jb 0x528df7
xor al, al
mov byte [esp + 0x1c], al
mov edx, dword [esp + 0x1c]
mov ecx, edx
and ecx, 0xff
shl ecx, 2
cmp byte [esp + ecx + 0x48], 0xff
jne 0x528dc4
cmp byte [esp + ecx + 0x49], 0xff
jne 0x528dc4
cmp byte [esp + ecx + 0x4a], 0xff
jne 0x528dc4
cmp byte [esp + ecx + 0x4b], 0xff
je 0x528dd0
inc al
cmp al, 0x10
mov byte [esp + 0x1c], al
jb 0x528d99
jmp 0x528df7
and edx, 0xff
shl edx, 2
mov ecx, edx
mov dl, byte [esp + 0x15]
mov byte [esp + ecx + 0x48], bl
mov byte [esp + ecx + 0x49], dl
mov dl, byte [esp + 0x16]
mov byte [esp + ecx + 0x4a], dl
mov dl, byte [esp + 0x17]
mov byte [esp + ecx + 0x4b], dl
mov dl, byte [esp + 0x10]
shl dl, 1
test al, 1
mov byte [esp + 0x10], dl
je 0x528e0e
mov cl, dl
or cl, 1
mov byte [esp + 0x10], cl
mov dl, byte [esp + 0x11]
shl dl, 1
test al, 2
mov byte [esp + 0x11], dl
je 0x528e25
mov cl, dl
or cl, 1
mov byte [esp + 0x11], cl
mov dl, byte [esp + 0x12]
shl dl, 1
test al, 4
mov byte [esp + 0x12], dl
je 0x528e3c
mov cl, dl
or cl, 1
mov byte [esp + 0x12], cl
mov dl, byte [esp + 0x13]
shl dl, 1
test al, 8
mov byte [esp + 0x13], dl
je 0x528e52
mov al, dl
or al, 1
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x24]
test eax, eax
je 0x528e5b
inc esi
mov eax, edi
and eax, 7
cmp al, 7
jne 0x528e98
mov cl, byte [esp + 0x10]
mov dl, byte [esp + 0x11]
mov al, byte [esp + 0x12]
mov byte [esi + ebp - 4], cl
mov cl, byte [esp + 0x13]
mov byte [esi + ebp - 3], dl
mov byte [esi + ebp - 2], al
mov byte [esi + ebp - 1], cl
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x28]
inc edi
cmp edi, eax
jb 0x528cff
mov eax, edi
and eax, 7
je 0x528ee1
mov dl, byte [esp + 0x10]
mov ecx, 8
shr edi, 1
sub ecx, eax
mov al, byte [esp + 0x11]
and edi, 3
shl dl, cl
sub esi, edi
shl al, cl
mov byte [esi + ebp], dl
mov dl, byte [esp + 0x12]
inc esi
shl dl, cl
mov byte [esi + ebp], al
mov al, byte [esp + 0x13]
inc esi
shl al, cl
mov byte [esi + ebp], dl
mov byte [esi + ebp + 1], al
mov edi, dword [esp + 0x18]
xor esi, esi
mov eax, edi
shr eax, 2
mov dword [esp + 0x40], eax
je 0x528f29
mov eax, ebp
xor ecx, ecx
mov dword [esp + 0x24], 4
mov edi, dword [esp + 0x20]
mov bl, byte [eax]
mov edx, ecx
shr edx, 2
add edx, esi
inc eax
mov byte [edx + edi], bl
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
add ecx, edi
dec edx
mov dword [esp + 0x24], edx
jne 0x528efe
mov ecx, dword [esp + 0x40]
inc esi
cmp esi, ecx
jb 0x528ef4
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
push 0
push ebx
push esi
call fcn.0052f2b0
mov eax, dword [esp + 0x2c]
push edi
push eax
push esi
call fcn.0052f34a
mov eax, dword [esp + 0x50]
add esp, 0x18
dec eax
sub ebx, edi
test eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ebx
ja 0x528cdc
mov byte [ebp], 0x52
mov byte [ebp + 1], 0x47
mov byte [ebp + 2], 0x42
mov byte [ebp + 3], 0x20
xor eax, eax
lea ecx, [ebp + 4]
mov edx, eax
and edx, 3
cmp dl, 3
je 0x528f89
mov dl, byte [esp + eax + 0x48]
shr dl, 2
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, 0x40
jb 0x528f75
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
add eax, 8
push 0
push eax
push esi
call fcn.0052f2b0
push 0x34
push ebp
push esi
call fcn.0052f34a
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0052f825
push esi
call fcn.0052f825
mov edx, dword [esp + 0x40]
push edx
call fcn.0052c310
push ebp
call fcn.0052c310
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
push 0x40e8a8
call fcn.0052c5c8
add esp, 4
push 0x39
call fcn.0052c457
nop
nop