Function at 0x417950
Capabilities:
Enumerate pe sections

Disassembly:
mov al, byte [0x9659f8]
sub esp, 0x38
test al, 1
jne 0x417984
mov edx, dword [0x9659f8]
xor eax, eax
or edx, 1
push 0x856000
mov dword [0x9659f8], edx
mov dword [0x9659f0], eax
mov dword [0x9659f4], eax
call fcn.00821d1e
add esp, 4
push ebp
mov ebp, dword [esp + 0x48]
push esi
mov esi, dword [ebp + 0x2c]
test esi, esi
jne 0x417999
pop esi
xor al, al
pop ebp
add esp, 0x38
ret
mov eax, dword [esp + 0x48]
push ebx
push edi
push 0x9659b0
push eax
call fcn.0059b920
mov edi, dword [esp + 0x54]
lea ecx, [edi + 0x10]
push ecx
lea edx, [esp + 0x1c]
push 0x9659b0
push edx
call fcn.0059c890
add esp, 0x14
push eax
push edi
lea eax, [esp + 0x24]
push 0x9659b0
push eax
call fcn.0059c890
add esp, 0xc
push eax
lea ecx, [esp + 0x30]
call fcn.0040ef50
lea ecx, [esp + 0x28]
push ebp
push ecx
call fcn.00412c70
add esp, 8
test al, al
je 0x417be1
mov edx, dword [esp + 0x5c]
mov eax, dword [edx]
mov ebx, dword [esp + 0x58]
xor ebp, ebp
cmp word [esi], bp
mov dword [esp + 0x54], eax
jle 0x417a72
xor edi, edi
nop
mov al, byte [esp + 0x60]
test al, al
je 0x417a2f
mov ecx, dword [esi + 8]
movzx edx, byte [edi + ecx + 0x10]
push edx
mov ecx, 0xb79538
call fcn.0055e6b0
test al, al
jne 0x417a67
mov al, byte [esp + 0x64]
test al, al
je 0x417a4e
mov eax, dword [esi + 8]
movzx ecx, byte [edi + eax + 0x10]
push ecx
mov ecx, 0xb79538
call fcn.0055e6d0
test al, al
jne 0x417a67
mov eax, dword [esi + 8]
lea edx, [esp + 0x54]
push edx
push ebx
add eax, edi
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.00412aa0
add esp, 0x10
movsx edx, word [esi]
inc ebp
add edi, 0x14
cmp ebp, edx
jl 0x417a10
xor ebp, ebp
cmp word [esi + 2], bp
jle 0x417ae3
xor edi, edi
lea esp, [esp]
mov al, byte [esp + 0x60]
test al, al
je 0x417a9f
mov eax, dword [esi + 0xc]
movzx ecx, byte [edi + eax + 0x18]
push ecx
mov ecx, 0xb79538
call fcn.0055e6b0
test al, al
jne 0x417ad7
mov al, byte [esp + 0x64]
test al, al
je 0x417abe
mov edx, dword [esi + 0xc]
movzx eax, byte [edi + edx + 0x18]
push eax
mov ecx, 0xb79538
call fcn.0055e6d0
test al, al
jne 0x417ad7
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x54]
push ecx
push ebx
add edx, edi
push edx
lea eax, [esp + 0x34]
push eax
call fcn.00413100
add esp, 0x10
movsx ecx, word [esi + 2]
inc ebp
add edi, 0x1c
cmp ebp, ecx
jl 0x417a80
push esi
call fcn.00416330
xor edi, edi
add esp, 4
cmp word [esi + 4], di
jle 0x417b7a
xor ebp, ebp
lea ebx, [ebx]
mov al, byte [esp + 0x60]
test al, al
je 0x417b1f
mov edx, dword [esi + 0x18]
movzx eax, byte [edx + edi*8 + 6]
push eax
mov ecx, 0xb79538
call fcn.0055e6b0
test al, al
jne 0x417b6e
mov al, byte [esp + 0x64]
test al, al
je 0x417b3e
mov ecx, dword [esi + 0x18]
movzx edx, byte [ecx + edi*8 + 6]
push edx
mov ecx, 0xb79538
call fcn.0055e6d0
test al, al
jne 0x417b6e
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
push 0
lea eax, [esp + 0x58]
push eax
push ebx
add ecx, ebp
push ecx
mov ecx, dword [esi + 0x14]
lea eax, [edx + edi*8]
push eax
push ecx
lea edx, [esp + 0x40]
push edx
call fcn.004140f0
add esp, 0x1c
test al, al
je 0x417b6e
inc dword [0x9655d0]
movsx eax, word [esi + 4]
inc edi
add ebp, 0xa
cmp edi, eax
jl 0x417b00
fld dword [esp + 0x54]
mov ebp, dword [esp + 0x5c]
fcomp dword [ebp]
fnstsw ax
test ah, 5
jp 0x417be1
mov edi, dword [esp + 0x50]
push ebx
lea ecx, [esp + 0x20]
push edi
push ecx
call fcn.0059c890
mov ecx, dword [eax]
mov edx, ebx
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
lea esi, [ebx + 0x10]
push esi
lea ecx, [esp + 0x2c]
push edi
push ecx
mov dword [edx + 8], eax
call fcn.0059c790
mov edx, dword [eax]
mov dword [esi], edx
mov ecx, dword [eax + 4]
add esp, 0x18
mov dword [esi + 4], ecx
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x54]
pop edi
pop ebx
mov dword [esi + 8], edx
mov dword [ebp], eax
pop esi
mov al, 1
pop ebp
add esp, 0x38
ret
pop edi
pop ebx
pop esi
xor al, al
pop ebp
add esp, 0x38
ret