Function at 0x47aa30
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x6ae60b
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx]
push ebp
mov ebp, ecx
push edi
lea edi, [ebp + 0x84]
test edi, edi
mov dword [edi], eax
jne 0x47aa75
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
push esi
mov esi, dword [edi]
mov ecx, esi
imul ecx, ecx, 0xe4
add ecx, 4
push ecx
add ebx, 4
call fcn.005cde20
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x28], 0
je 0x47aac4
push 0x47a990
push 0x47a950
push esi
mov dword [eax], esi
add eax, 4
push 0xe4
push eax
mov dword [esp + 0x44], eax
call fcn.005ce6bb
mov eax, dword [esp + 0x30]
jmp 0x47aac6
xor eax, eax
test eax, eax
mov dword [esp + 0x28], 0xffffffff
mov dword [ebp + 0x88], eax
jne 0x47aaed
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
cmp dword [edi], 0
mov dword [esp + 0x1c], 0
jle 0x47b15b
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x47ab10
mov edi, dword [esp + 0x10]
lea ebx, [ebx]
mov ax, word [ebx]
mov edx, dword [ebp + 0x88]
mov word [edi + edx], ax
mov esi, dword [ebx + 2]
add ebx, 2
lea eax, [esi + 1]
push eax
mov dword [esp + 0x34], esi
add ebx, 4
call fcn.005cde20
mov ecx, dword [ebp + 0x88]
mov dword [edi + ecx + 4], eax
mov edx, dword [ebp + 0x88]
mov edi, dword [edi + edx + 4]
lea ecx, [esi + 1]
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp + 0x88]
mov edi, dword [edx + eax + 4]
mov ecx, esi
mov eax, ecx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov edx, eax
and ecx, 3
add ebx, edx
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx]
lea esi, [eax + 1]
push esi
mov dword [esp + 0x38], eax
add ebx, 4
call fcn.005cde20
mov ecx, dword [ebp + 0x88]
mov edx, dword [esp + 0x18]
mov dword [edx + ecx + 8], eax
mov ecx, esi
mov esi, dword [ebp + 0x88]
mov edi, dword [edx + esi + 8]
mov esi, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp + 0x88]
mov edi, dword [edx + eax + 8]
mov ecx, dword [esp + 0x38]
mov eax, ecx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x88]
add ebx, eax
mov ax, word [ebx]
mov word [edx + ecx + 0xc], ax
mov ax, word [ebx + 2]
mov ecx, dword [ebp + 0x88]
add ebx, 2
mov word [edx + ecx + 0xe], ax
mov ecx, dword [ebp + 0x88]
lea eax, [edx + ecx + 0xe]
add esp, 8
add ebx, 2
cmp word [eax], 0x3c
jne 0x47ac15
mov word [eax], 0x46
mov cl, byte [ebx]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x10], cl
mov cl, byte [ebx + 1]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x11], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x12], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x13], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x14], cl
mov cl, byte [ebx + 2]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x15], cl
mov cl, byte [ebx + 3]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x16], cl
mov cl, byte [ebx + 4]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x17], cl
mov cl, byte [ebx + 5]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x18], cl
mov cl, byte [ebx + 6]
mov eax, dword [ebp + 0x88]
inc ebx
mov byte [edx + eax + 0x19], cl
mov cx, word [ebx + 6]
mov eax, dword [ebp + 0x88]
mov word [edx + eax + 0x1a], cx
mov eax, dword [ebp + 0x88]
add ebx, 6
mov cx, word [ebx + 2]
mov word [edx + eax + 0x1c], cx
mov eax, dword [ebp + 0x88]
add ebx, 2
mov cl, byte [ebx + 2]
mov byte [edx + eax + 0x1e], cl
mov eax, dword [ebp + 0x88]
add ebx, 2
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x1f], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x20], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cx, word [ebx + 1]
mov word [edx + eax + 0x22], cx
mov eax, dword [ebp + 0x88]
inc ebx
mov ecx, dword [ebx + 2]
mov dword [edx + eax + 0x24], ecx
mov eax, dword [ebp + 0x88]
add ebx, 2
mov cl, byte [ebx + 4]
mov byte [edx + eax + 0x28], cl
mov eax, dword [ebp + 0x88]
add ebx, 4
mov cl, byte [ebx + 1]
inc ebx
mov byte [edx + eax + 0x29], cl
mov cl, byte [ebx + 1]
mov eax, dword [ebp + 0x88]
inc ebx
mov byte [edx + eax + 0x2a], cl
mov ecx, dword [ebx + 1]
mov eax, dword [ebp + 0x88]
inc ebx
mov dword [edx + eax + 0x2c], ecx
mov eax, dword [ebp + 0x88]
mov ecx, dword [ebx + 4]
add ebx, 4
mov dword [edx + eax + 0x30], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 0x88]
add ebx, 4
mov dword [edx + eax + 0x34], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 0x88]
add ebx, 4
mov dword [edx + eax + 0x38], ecx
mov eax, dword [ebp + 0x88]
mov ecx, dword [ebx + 4]
add ebx, 4
mov dword [edx + eax + 0x3c], ecx
mov eax, dword [0x708598]
add ebx, 4
cmp eax, 3
jne 0x47ad9f
mov eax, dword [ebp + 0x88]
mov dword [edx + eax + 0x3c], 0
mov al, byte [ebx]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x40], al
mov al, byte [ebx + 1]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x41], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov ax, word [ebx + 1]
mov word [edx + ecx + 0x42], ax
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 2]
mov byte [edx + ecx + 0x44], al
mov ecx, dword [ebp + 0x88]
add ebx, 2
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x45], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x46], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x47], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x48], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x49], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x4a], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x4b], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x4c], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x4d], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x4e], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x4f], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x50], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov ax, word [ebx + 1]
mov word [edx + ecx + 0x52], ax
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 2]
add ebx, 2
mov byte [edx + ecx + 0x54], al
mov al, byte [ebx + 1]
mov ecx, dword [ebp + 0x88]
inc ebx
mov byte [edx + ecx + 0x55], al
mov ecx, dword [ebp + 0x88]
mov al, byte [ebx + 1]
inc ebx
mov byte [edx + ecx + 0x56], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx]
mov byte [edx + ecx + 0x57], al
mov al, byte [ebx + 1]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x58], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x59], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x5a], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x5b], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x5c], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x5d], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov ax, word [ebx + 1]
mov word [edx + ecx + 0x5e], ax
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 2]
mov byte [edx + ecx + 0x62], al
mov ecx, dword [ebp + 0x88]
add ebx, 2
mov ax, word [ebx + 1]
inc ebx
mov word [edx + ecx + 0x60], ax
mov al, byte [ebx + 2]
mov ecx, dword [ebp + 0x88]
add ebx, 2
mov byte [edx + ecx + 0x63], al
mov al, byte [ebx + 1]
mov ecx, dword [ebp + 0x88]
inc ebx
inc ebx
mov byte [edx + ecx + 0x64], al
mov al, byte [ebx]
mov ecx, dword [ebp + 0x88]
inc ebx
mov byte [edx + ecx + 0x65], al
xor esi, esi
lea esp, [esp]
mov di, word [ebx]
mov eax, dword [ebp + 0x88]
lea ecx, [edx + esi]
mov word [ecx + eax + 0x68], di
mov eax, dword [ebp + 0x88]
add ebx, 2
lea ecx, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [ecx + eax + 0x6a], dl
mov eax, dword [ebp + 0x88]
mov edx, dword [esp + 0x30]
inc ebx
lea ecx, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [ecx + eax + 0x6b], dl
mov eax, dword [ebp + 0x88]
mov edx, dword [esp + 0x30]
inc ebx
lea ecx, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [ecx + eax + 0x6c], dl
mov edi, dword [ebx + 1]
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0x88]
inc ebx
lea ecx, [edx + esi]
mov dword [ecx + eax + 0x70], edi
mov di, word [ebx + 4]
mov eax, dword [ebp + 0x88]
add ebx, 4
lea ecx, [edx + esi]
mov word [ecx + eax + 0x74], di
mov di, word [ebx + 2]
mov eax, dword [ebp + 0x88]
add ebx, 2
lea ecx, [edx + esi]
mov word [ecx + eax + 0x76], di
mov eax, dword [ebp + 0x88]
add ebx, 2
lea ecx, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [ecx + eax + 0x78], dl
mov edi, dword [ebx + 1]
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0x88]
inc ebx
lea ecx, [edx + esi]
mov dword [ecx + eax + 0x7c], edi
mov edi, dword [ebx + 4]
mov eax, dword [ebp + 0x88]
add ebx, 4
lea ecx, [edx + esi]
mov dword [ecx + eax + 0x80], edi
mov eax, dword [ebp + 0x88]
lea ecx, [edx + esi]
add ebx, 4
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [ecx + eax + 0x84], dl
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0x88]
inc ebx
lea ecx, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [ecx + eax + 0x85], dl
mov edx, dword [esp + 0x30]
mov di, word [ebx + 1]
mov eax, dword [ebp + 0x88]
inc ebx
lea ecx, [edx + esi]
add esi, 0x20
add ebx, 2
cmp esi, 0x60
mov word [ecx + eax + 0x86], di
jl 0x47af80
add edx, 0xc8
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 7
mov esi, dword [ebx]
lea edi, [esi + 1]
push edi
mov dword [esp + 0x34], esi
add ebx, 4
call fcn.005cde20
mov ecx, dword [ebp + 0x88]
mov edx, dword [esp + 0x18]
mov dword [edx + ecx], eax
mov ecx, edi
mov edi, dword [ebp + 0x88]
mov edi, dword [edx + edi]
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edx, dword [ebp + 0x88]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + edx]
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, edx
and ecx, 3
add esp, 4
add ebx, edx
dec eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x18], eax
jne 0x47b0c6
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x84]
inc eax
add edx, 0xe4
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], edx
jl 0x47ab06
mov ecx, dword [esp + 0x20]
pop esi
pop edi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 4