Function at 0x459730
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x150
cmp word [eax + 4], 0xf15
push ebx
push ebp
push esi
push edi
mov ebp, ecx
je 0x45996d
mov cl, byte [eax + 6]
mov bl, byte [eax + 7]
movsx eax, cl
mov byte [esp + 0x10], bl
lea esi, [ebp + eax*4 + 0x6f944]
mov dword [esp + 0x24], esi
mov eax, dword [esi]
test eax, eax
je 0x45996d
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x120]
push ecx
lea ecx, [esp + 0x2c]
push edx
push ecx
push eax
mov ecx, ebp
call fcn.00460ea0
mov ecx, 0x1e
xor eax, eax
lea edi, [esp + 0x68]
lea edx, [esp + 0x28]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x6c]
push 0x4c1198
push eax
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x68]
push 1
push 0xa
push ecx
mov ecx, ebp
call fcn.004117a0
mov ecx, dword [esi]
mov dword [esp + 0x1c], ecx
mov al, byte [ecx + 0x19]
cmp al, 5
je 0x4597d1
cmp al, 6
jne 0x4597e3
movsx edx, bl
mov eax, dword [ebp + edx*4 + 0x6f87c]
test eax, eax
jne 0x459936
movsx esi, bl
mov dword [esp + 0x20], esi
mov eax, dword [ebp + esi*4 + 0x6f87c]
test eax, eax
jne 0x459974
lea edi, [ebp + 0x6f87c]
mov eax, 0x28
mov edx, 0x1e
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x14]
mov ebx, dword [edi]
test ebx, ebx
je 0x459839
lea esi, [ebx + 4]
mov ecx, 5
lea edi, [esp + 0x28]
xor ebx, ebx
repe cmpsd dword [esi], dword es:[edi]
je 0x459854
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
inc edi
add ebx, 4
cmp edi, 0x32
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
jl 0x459815
jmp 0x459873
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov ax, word [ecx + 0x24]
mov dx, word [ecx + 0x26]
mov ecx, dword [esp + 0x1c]
inc ax
inc dx
mov dword [ebp + esi*4 + 0x6f87c], ecx
mov word [ecx + 0x24], ax
mov ecx, dword [ebp + esi*4 + 0x6f87c]
xor edi, edi
push edi
push edi
mov word [ecx + 0x26], dx
mov ecx, dword [esp + 0x18]
movsx edx, dx
movsx eax, ax
push edi
push edx
push eax
push ecx
push edi
push 0x180ace0a
mov ecx, ebp
call fcn.00405900
xor eax, eax
or cl, 0xff
cmp byte [eax + ebp + 0x7317a], cl
je 0x4598be
inc eax
cmp eax, 0x32
jl 0x4598ad
jmp 0x4598c9
mov dl, byte [esp + 0x10]
mov byte [eax + ebp + 0x7317a], dl
lea ecx, [esi + esi*2 + 0x1c980]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], edi
lea ecx, [ebp + ecx*4]
call fcn.004a6fb0
lea eax, [esi + esi*2 + 0x1ca16]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], edi
lea ecx, [ebp + eax*4]
call fcn.004a6fb0
mov ecx, dword [esp + 0x24]
lea eax, [ebp + 0x6f948]
mov edx, 0x78
mov dword [ecx], edi
mov ecx, dword [eax]
cmp ecx, edi
je 0x45991c
cmp dword [eax - 4], edi
jne 0x45991c
mov dword [eax - 4], ecx
mov dword [eax], edi
add eax, 4
dec edx
jne 0x45990c
pop edi
mov byte [ebp + 0xd66], 0
pop esi
pop ebp
pop ebx
add esp, 0x150
ret 4
test ecx, ecx
je 0x459940
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi], 0
lea eax, [ebp + 0x6f948]
mov edx, 0x78
mov ecx, dword [eax]
test ecx, ecx
je 0x459967
mov esi, dword [eax - 4]
test esi, esi
jne 0x459967
mov dword [eax - 4], ecx
mov dword [eax], 0
add eax, 4
dec edx
jne 0x459951
mov byte [ebp + 0xd66], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x150
ret 4