Function at 0x453390
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x6a4108]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4533b4
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push str.nonstop__02d__03d.dat
jmp 0x4533c4
cmp eax, 2
jne 0x4533d0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push str.kokoro__02d__03d.dat
lea eax, [ebp - 0x44]
push eax
call fcn.005c6a3f
add esp, 0x10
push esi
push 0
lea eax, [ebp - 0x44]
push 0xa
push eax
call fcn.004c2910
mov esi, eax
add esp, 0xc
movzx edx, word [esi]
mov dword [ebp - 0x48], esi
test dx, dx
je 0x453434
movzx ecx, byte [0x6ab7f0]
mov eax, 3
sub ax, cx
imul ax, dx
test byte [0x6e6478], 0x10
mov word [0x6e6336], ax
je 0x45342e
cwde
lea ecx, [eax + eax*2]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [0x6e6336], ax
mov word [0x6ff70c], ax
mov eax, dword [0x73e228]
mov cl, byte [esi + 2]
mov byte [eax + 0xfee], cl
mov edx, dword [0x73e228]
push ebx
xor ebx, ebx
cmp byte [edx + 0xfee], bl
jbe 0x453709
push edi
xor ecx, ecx
lea edi, [esi + 0xa]
lea ecx, [ecx]
mov al, byte [edi - 6]
mov byte [ecx + edx + 0x1008], al
movzx edx, byte [edi - 4]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0xff1], dl
movzx edx, byte [edi - 2]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0x13ca], dl
cmp word [edi], 0xffff
mov eax, dword [0x73e228]
jne 0x45349f
mov byte [ecx + eax + 0x13cb], 0xff
jmp 0x4534a8
mov dl, byte [edi]
mov byte [ecx + eax + 0x13cb], dl
cmp word [edi + 2], 0xffff
mov eax, dword [0x73e228]
jne 0x4534be
mov byte [ecx + eax + 0x13cc], 0xff
jmp 0x4534c8
mov dl, byte [edi + 2]
mov byte [ecx + eax + 0x13cc], dl
mov eax, dword [0x73e228]
mov dx, word [edi + 4]
mov word [ecx + eax + 0x13d2], dx
test dword [0x6e6478], 0x10000
je 0x45350f
mov esi, dword [0x73e228]
mov eax, 0x66666667
movzx edx, word [esi + ecx + 0x13d2]
shl edx, 3
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esi + ecx + 0x13d2], ax
movzx edx, byte [edi + 6]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0x13d1], dl
movzx edx, byte [edi - 2]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0x13d0], dl
movzx edx, word [edi + 8]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0xff8], dx
movzx edx, byte [edi + 0xa]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0xff2], dl
movzx edx, byte [edi + 0xc]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0xff3], dl
movzx edx, byte [edi + 0xe]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0xff4], dl
movzx edx, word [edi + 0x10]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0xffa], dx
movzx edx, word [edi + 0x12]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0xffc], dx
movzx edx, word [edi + 0x14]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0xffe], dx
movzx edx, byte [edi + 0x16]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0xff5], dl
movzx edx, word [edi + 0x18]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0x1004], dx
movzx edx, word [edi + 0x1a]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0x1002], dx
movzx edx, byte [edi + 0x1c]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0xff6], dl
movzx edx, byte [edi + 0x1e]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0xff7], dl
movzx edx, word [edi + 0x20]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0x1000], dx
movzx edx, word [edi + 0x22]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0x1006], dx
movzx edx, byte [edi + 0x24]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0x13d4], dl
movzx edx, byte [edi + 0x26]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0x13d5], dl
movzx edx, word [edi + 0x28]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0x13dc], dx
movzx edx, byte [edi + 0x2a]
mov eax, dword [0x73e228]
mov byte [ecx + eax + 0x13d6], dl
movzx edx, word [edi + 0x2c]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0x13d8], dx
cmp byte [0x6ab80b], 1
jne 0x453689
cmp dword [0x6a7790], 0x16
jne 0x453689
mov eax, dword [0x73e228]
add word [ecx + eax + 0x13dc], 3
mov dx, word [edi + 0x2e]
mov eax, dword [0x73e228]
shl dx, 4
sub dx, word [edi + 0x2e]
cmp byte [0x6ab7f0], 2
jae 0x4536a8
add dx, dx
jmp 0x4536ac
shl dx, 2
mov word [ecx + eax + 0x13ce], dx
mov dx, word [edi + 0x30]
mov eax, dword [0x73e228]
mov word [ecx + eax + 0x13da], dx
mov edx, dword [0x73e228]
cmp word [ecx + edx + 0x13da], 0
lea esi, [ecx + edx]
jne 0x4536ec
mov ax, word [0x6e61d8]
mov word [esi + 0x13da], ax
mov edx, dword [0x73e228]
movzx eax, byte [edx + 0xfee]
inc ebx
add edi, 0x3c
add ecx, 0x3ee
cmp ebx, eax
jl 0x453460
mov esi, dword [ebp - 0x48]
pop edi
mov eax, dword [0x6e62d0]
shr eax, 0xa
and al, 1
mov byte [edx + 0x85d5], al
mov ecx, dword [0x6e62d0]
mov eax, dword [0x73e228]
shr ecx, 0xb
and cl, 1
mov byte [eax + 0x85d6], cl
call fcn.004c2570
pop ebx
test al, al
je 0x453746
mov eax, dword [0x73e228]
mov byte [eax + 0x85d6], 1
push esi
call fcn.004d30e0
mov eax, dword [0x73e228]
movzx esi, byte [eax + 0x13d4]
movzx eax, byte [eax + 0x13d5]
push eax
push esi
call fcn.0044f890
add esp, 0xc
cmp al, 1
jne 0x453774
mov esi, 0x12
jmp 0x453794
mov eax, dword [0x73e228]
movzx eax, byte [eax + 0x13d5]
push eax
push esi
call fcn.0044f8f0
add esp, 8
mov ecx, 0xf
cmp al, 1
cmove esi, ecx
mov ecx, dword [0x73e228]
movsx eax, word [ecx + 0x13d8]
push eax
movsx eax, word [ecx + 0x13da]
push eax
push esi
call fcn.00461420
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
pop esi
call fcn.005c7124
mov esp, ebp
pop ebp
ret