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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x69a53b
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 0x477545
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.005b951f
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x28], 0
je 0x477594
push 0x477460
push 0x477420
push esi
mov dword [eax], esi
add eax, 4
push 0xe4
push eax
mov dword [esp + 0x44], eax
call fcn.005b9dbb
mov eax, dword [esp + 0x30]
jmp 0x477596
xor eax, eax
test eax, eax
mov dword [esp + 0x28], 0xffffffff
mov dword [ebp + 0x88], eax
jne 0x4775bd
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 0x477c3b
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x4775e0
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.005b951f
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.005b951f
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, eax
mov ax, word [ebx + ecx]
add ebx, ecx
mov ecx, dword [ebp + 0x88]
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 al, byte [ebx + 2]
mov ecx, dword [ebp + 0x88]
add ebx, 2
add esp, 8
mov byte [edx + ecx + 0x10], al
mov ecx, dword [ebp + 0x88]
mov al, byte [ebx + 1]
inc ebx
mov byte [edx + ecx + 0x11], al
mov al, byte [ebx + 1]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x12], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x13], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x14], al
mov al, byte [ebx + 2]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x15], al
mov al, byte [ebx + 3]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x16], al
mov al, byte [ebx + 4]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x17], al
mov al, byte [ebx + 5]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x18], al
mov al, byte [ebx + 6]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x19], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov ax, word [ebx + 6]
mov word [edx + ecx + 0x1a], ax
mov ecx, dword [ebp + 0x88]
add ebx, 6
mov ax, word [ebx + 2]
mov word [edx + ecx + 0x1c], ax
mov ecx, dword [ebp + 0x88]
add ebx, 2
mov al, byte [ebx + 2]
mov byte [edx + ecx + 0x1e], al
mov ecx, dword [ebp + 0x88]
add ebx, 2
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x1f], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x20], al
mov ecx, dword [ebp + 0x88]
inc ebx
mov ax, word [ebx + 1]
mov word [edx + ecx + 0x22], ax
mov ecx, dword [ebp + 0x88]
inc ebx
mov al, byte [ebx + 2]
mov byte [edx + ecx + 0x24], al
mov ecx, dword [ebp + 0x88]
add ebx, 2
mov al, byte [ebx + 1]
mov byte [edx + ecx + 0x25], al
mov al, byte [ebx + 2]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x26], al
mov al, byte [ebx + 3]
mov ecx, dword [ebp + 0x88]
inc ebx
mov byte [edx + ecx + 0x27], al
mov al, byte [ebx + 3]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x28], al
mov al, byte [ebx + 4]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x29], al
mov al, byte [ebx + 5]
mov ecx, dword [ebp + 0x88]
mov byte [edx + ecx + 0x2a], al
mov ecx, dword [ebp + 0x88]
mov eax, dword [ebx + 6]
add ebx, 6
mov dword [edx + ecx + 0x2c], eax
mov ecx, dword [ebp + 0x88]
add ebx, 4
mov eax, dword [ebx]
mov dword [edx + ecx + 0x30], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x88]
add ebx, 4
mov dword [edx + ecx + 0x34], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x88]
add ebx, 4
mov dword [edx + ecx + 0x38], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x88]
add ebx, 4
mov dword [edx + ecx + 0x3c], eax
mov eax, dword [0x6f3558]
add ebx, 4
cmp eax, 2
jne 0x477882
mov ecx, dword [ebp + 0x88]
mov dword [edx + ecx + 0x3c], 0
mov cl, byte [ebx]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x40], cl
mov cl, byte [ebx + 1]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x41], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cx, word [ebx + 1]
mov word [edx + eax + 0x42], cx
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 2]
mov byte [edx + eax + 0x44], cl
mov eax, dword [ebp + 0x88]
add ebx, 2
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x45], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x46], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x47], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x48], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x49], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x4a], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x4b], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x4c], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x4d], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x4e], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x4f], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x50], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cx, word [ebx + 1]
mov word [edx + eax + 0x52], cx
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 2]
add ebx, 2
mov byte [edx + eax + 0x54], cl
mov cl, byte [ebx + 1]
mov eax, dword [ebp + 0x88]
inc ebx
mov byte [edx + eax + 0x55], cl
mov eax, dword [ebp + 0x88]
mov cl, byte [ebx + 1]
inc ebx
mov byte [edx + eax + 0x56], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx]
mov byte [edx + eax + 0x57], cl
mov cl, byte [ebx + 1]
mov eax, dword [ebp + 0x88]
mov byte [edx + eax + 0x58], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x59], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x5a], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x5b], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x5c], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 1]
mov byte [edx + eax + 0x5d], cl
mov eax, dword [ebp + 0x88]
inc ebx
mov cx, word [ebx + 1]
mov word [edx + eax + 0x5e], cx
mov eax, dword [ebp + 0x88]
inc ebx
mov cl, byte [ebx + 2]
mov byte [edx + eax + 0x62], cl
mov eax, dword [ebp + 0x88]
add ebx, 2
mov cx, word [ebx + 1]
inc ebx
mov word [edx + eax + 0x60], cx
mov cl, byte [ebx + 2]
mov eax, dword [ebp + 0x88]
add ebx, 2
mov byte [edx + eax + 0x63], cl
mov cl, byte [ebx + 1]
mov eax, dword [ebp + 0x88]
inc ebx
inc ebx
mov byte [edx + eax + 0x64], cl
mov cl, byte [ebx]
mov eax, dword [ebp + 0x88]
inc ebx
mov byte [edx + eax + 0x65], cl
xor esi, esi
nop
mov di, word [ebx]
mov ecx, dword [ebp + 0x88]
lea eax, [edx + esi]
mov word [eax + ecx + 0x68], di
mov ecx, dword [ebp + 0x88]
add ebx, 2
lea eax, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [eax + ecx + 0x6a], dl
mov ecx, dword [ebp + 0x88]
mov edx, dword [esp + 0x30]
inc ebx
lea eax, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [eax + ecx + 0x6b], dl
mov ecx, dword [ebp + 0x88]
mov edx, dword [esp + 0x30]
inc ebx
lea eax, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [eax + ecx + 0x6c], dl
mov edi, dword [ebx + 1]
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x88]
inc ebx
lea eax, [edx + esi]
mov dword [eax + ecx + 0x70], edi
mov di, word [ebx + 4]
mov ecx, dword [ebp + 0x88]
add ebx, 4
lea eax, [edx + esi]
mov word [eax + ecx + 0x74], di
mov di, word [ebx + 2]
mov ecx, dword [ebp + 0x88]
add ebx, 2
lea eax, [edx + esi]
mov word [eax + ecx + 0x76], di
mov ecx, dword [ebp + 0x88]
add ebx, 2
lea eax, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [eax + ecx + 0x78], dl
mov edi, dword [ebx + 1]
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x88]
inc ebx
lea eax, [edx + esi]
mov dword [eax + ecx + 0x7c], edi
mov edi, dword [ebx + 4]
mov ecx, dword [ebp + 0x88]
add ebx, 4
lea eax, [edx + esi]
mov dword [eax + ecx + 0x80], edi
mov ecx, dword [ebp + 0x88]
lea eax, [edx + esi]
add ebx, 4
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [eax + ecx + 0x84], dl
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x88]
inc ebx
lea eax, [edx + esi]
mov dword [esp + 0x30], edx
mov dl, byte [ebx]
mov byte [eax + ecx + 0x85], dl
mov edx, dword [esp + 0x30]
mov di, word [ebx + 1]
mov ecx, dword [ebp + 0x88]
inc ebx
lea eax, [edx + esi]
add esi, 0x20
add ebx, 2
cmp esi, 0x60
mov word [eax + ecx + 0x86], di
jl 0x477a60
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.005b951f
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 0x477ba6
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 0x4775d6
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