Function at 0x78c2b0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x91d024]
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
sub esp, 0x14
cmp eax, edx
push esi
push edi
je 0x78c3d5
mov eax, dword [ecx + 0x20]
test eax, eax
mov esi, 0x927c54
jne 0x78c2da
mov esi, 0x927c3c
mov ecx, dword [ecx + 0x10]
push ecx
call fcn.0046a3d0
mov edx, dword [0x91d024]
mov eax, dword [edx + 0x14]
push eax
call fcn.0046a3d0
mov ecx, dword [0x91d024]
mov edx, dword [ecx + 0x18]
mov eax, dword [esi + edx*4]
mov ecx, dword [0x91d14c]
mov edx, dword [0x91d148]
push eax
movsx eax, byte [0x91cfe2]
push ecx
push edx
push eax
call fcn.0046a350
mov ecx, dword [0x91d024]
mov dword [ecx + 0x10], eax
mov edx, dword [0x91d024]
mov eax, dword [edx + 0x18]
mov ecx, dword [esi + eax*4]
mov edx, dword [0x91d154]
mov eax, dword [0x91d150]
push ecx
movsx ecx, byte [0x91cfe2]
push edx
push eax
push ecx
call fcn.0046a350
mov edx, dword [0x91d024]
mov dword [edx + 0x14], eax
mov eax, dword [0x91d024]
mov ecx, dword [eax + 0x34]
xor edx, edx
mov dx, word [ecx + 0x7a]
lea ecx, [esp + 0x34]
push edx
mov edx, dword [eax + 0x58]
push ecx
push edx
call fcn.00463b00
mov ecx, dword [0x91d024]
mov eax, dword [ecx + 0x18]
lea eax, [eax + eax*8]
shl eax, 1
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov ecx, dword [ecx + 0x5c]
push edx
push eax
push ecx
call fcn.007784f0
fld dword [esp + 0x50]
add esp, 0x40
push 0
call fcn.0043bd30
mov edx, dword [0x91d024]
push eax
add edx, 0x60
push 0xc
push edx
call fcn.007782f0
mov eax, dword [0x91d024]
mov ecx, dword [eax + 0x18]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x91d024]
add esp, 0x10
mov eax, dword [ecx + 0x20]
test eax, eax
jne 0x78c464
mov edi, dword [ecx + 0x18]
cmp edi, 5
ja case.default.0x78c3e8
jmp dword [edi*4 + 0x78c64c]
mov esi, 1
mov eax, esi
lea edi, [edi + edi + 9]
jmp 0x78c4c4
mov edx, dword [ecx + 0x28]
mov dl, byte [edx + 2]
xor al, al
cmp al, dl
lea edi, [edi + edi + 9]
sbb eax, eax
neg eax
cmp dl, 0xf
sbb esi, esi
neg esi
jmp 0x78c4c4
mov edx, dword [ecx + 0x28]
mov dl, byte [edx + 3]
xor al, al
cmp al, dl
lea edi, [edi + edi + 9]
sbb eax, eax
neg eax
cmp dl, 0xf
sbb esi, esi
neg esi
jmp 0x78c4c4
mov edx, dword [ecx + 0x28]
mov dl, byte [edx + 4]
xor al, al
cmp al, dl
lea edi, [edi + edi + 9]
sbb eax, eax
neg eax
cmp dl, 0xf
sbb esi, esi
neg esi
jmp 0x78c4c4
mov eax, dword [esp + 8]
mov esi, dword [esp + 8]
lea edi, [edi + edi + 9]
jmp 0x78c4c4
mov eax, dword [ecx + 0x18]
sub eax, 0
je 0x78c4aa
dec eax
je 0x78c48e
dec eax
jne 0x78c4b8
mov edx, dword [ecx + 0x28]
mov dl, byte [edx + 4]
xor al, al
cmp al, dl
mov edi, 0x11
sbb eax, eax
neg eax
cmp dl, 0xf
sbb esi, esi
neg esi
jmp 0x78c4c4
mov edx, dword [ecx + 0x28]
mov dl, byte [edx + 3]
xor al, al
cmp al, dl
mov edi, 0xf
sbb eax, eax
neg eax
cmp dl, 0xf
sbb esi, esi
neg esi
jmp 0x78c4c4
mov esi, 1
mov eax, esi
mov edi, 9
jmp 0x78c4c4
mov eax, dword [esp + 8]
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
mov ecx, dword [ecx + edi*4 + 0x3c]
push eax
push ecx
call fcn.00778390
mov edx, dword [0x91d024]
mov eax, dword [edx + edi*4 + 0x40]
push esi
push eax
call fcn.00778390
mov eax, dword [0x91d024]
mov ecx, dword [eax + 0x28]
movzx edx, byte [ecx]
add edx, 0x60004
push edx
add eax, 0xc0
push eax
call fcn.007784d0
mov eax, dword [0x91d024]
mov ecx, dword [eax + 0x28]
movzx edx, byte [ecx + 6]
mov ecx, dword [edx*4 + 0x927c6c]
push ecx
add eax, 0xc8
push eax
call fcn.007784d0
add esp, 0x20
xor edi, edi
mov esi, 0x40
jmp 0x78c530
mov eax, dword [0x91d024]
mov edx, dword [eax + 0x28]
movzx ecx, byte [edx + 1]
mov eax, dword [esi + eax]
xor edx, edx
cmp edi, ecx
setge dl
push edx
push eax
call fcn.004639d0
add esp, 8
add esi, 4
inc edi
cmp esi, 0x4c
jl 0x78c530
mov ecx, dword [0x91d024]
mov edx, dword [ecx + 0x28]
movzx eax, byte [edx + 2]
test eax, eax
lea esi, [ecx + 0xd8]
jne 0x78c577
mov eax, 0x87129c
jmp 0x78c585
add eax, 0x60013
push eax
call fcn.0085ce30
add esp, 4
push eax
push esi
call fcn.00778460
mov ecx, dword [0x91d024]
mov eax, dword [ecx + 0x28]
movzx eax, byte [eax + 3]
add esp, 8
test eax, eax
lea esi, [ecx + 0xe8]
jne 0x78c5ad
mov eax, 0x87129c
jmp 0x78c5bb
add eax, 0x60013
push eax
call fcn.0085ce30
add esp, 4
push eax
push esi
call fcn.00778460
mov ecx, dword [0x91d024]
mov edx, dword [ecx + 0x28]
movzx eax, byte [edx + 4]
add esp, 8
test eax, eax
lea esi, [ecx + 0xf8]
jne 0x78c5e3
mov eax, 0x87129c
jmp 0x78c5f1
add eax, 0x60013
push eax
call fcn.0085ce30
add esp, 4
push eax
push esi
call fcn.00778460
mov eax, dword [0x91d024]
add esp, 8
xor esi, esi
mov cl, byte [esi + eax + 0x95]
cmp cl, 0xc
je 0x78c613
cmp cl, 0xd
jne 0x78c63b
movsx ecx, byte [esi + eax + 0x94]
sub ecx, dword [eax + 0x18]
neg ecx
sbb ecx, ecx
add ecx, 0xd
push ecx
lea edx, [esi + eax + 0x90]
push edx
call fcn.00778530
mov eax, dword [0x91d024]
add esp, 8
add esi, 8
cmp esi, 0x70
jl 0x78c602
pop edi
pop esi
add esp, 0x14
ret