Function at 0x40e230
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x168
push ebx
push ebp
push esi
mov esi, dword [sym.imp.MSVCRT.dll_atoi]
push edi
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
mov ax, word [0x952fd9]
lea ecx, [esp + 0x14]
push ecx
mov word [esp + 0x18], ax
call esi
mov dx, word [0x417504]
mov ebx, eax
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
mov word [esp + 0x18], dx
push eax
call esi
mov dword [esp + 0x18], eax
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x80]
rep stosd dword es:[edi], eax
mov cl, byte [0x417378]
lea edi, [esp + 0x1c]
mov byte [esp + 0x80], cl
mov ecx, 0x19
rep stosd dword es:[edi], eax
mov edi, 0x952f60
or ecx, 0xffffffff
add esp, 8
mov edx, 0x20202020
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], edx
mov eax, ecx
mov dword [esp + 0x18], edx
mov esi, 0x952f60
lea edi, [esp + 0x14]
shr ecx, 2
mov dword [esp + 0x1c], edx
mov ebp, dword [sym.imp.MSVCRT.dll_sprintf]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x79], ecx
mov ecx, dword [str.0000]
mov dword [esp + 0x81], eax
mov ax, word [0x417528]
mov dword [esp + 0x85], ecx
mov cl, byte [0x41752a]
mov word [esp + 0x8a], ax
mov byte [esp + 0x8c], cl
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x14]
mov dword [esp + 0x7d], edx
mov dl, byte [0x417510]
rep stosd dword es:[edi], eax
mov ax, word [0x417504]
mov byte [esp + 0x89], dl
mov edx, dword [str.0001]
mov word [esp + 0x8d], ax
movsx ecx, bx
mov dword [esp + 0x91], edx
push ecx
lea edx, [esp + 0x18]
push str._02d
push edx
call ebp
mov ax, word [esp + 0x20]
mov ecx, 0x20
lea esi, [esp + 0x84]
lea edi, [esp + 0x104]
mov word [esp + 0x9b], ax
mov eax, dword [esp + 0x188]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x84]
lea edx, [esp + 0x84]
push ecx
mov esi, 1
push edx
push esi
push eax
call fcn.004115d0
add esp, 0x1c
test eax, eax
jge 0x40e481
jmp 0x40e3ca
mov esi, 1
cmp bx, si
jle 0x40e3d2
dec ebx
jmp 0x40e40a
cmp word [esp + 0x10], si
jle 0x40e510
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
mov cx, word [0x952fd9]
push edx
mov dword [esp + 0x14], esi
mov word [esp + 0x18], cx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov ebx, eax
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
mov ax, word [0x417504]
movsx ecx, bx
push ecx
push str._02d
push edx
mov word [esp + 0x99], ax
call ebp
mov ax, word [esp + 0x20]
mov ecx, 0x20
lea esi, [esp + 0x84]
lea edi, [esp + 0x104]
mov word [esp + 0x9b], ax
mov eax, dword [esp + 0x188]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x84]
lea edx, [esp + 0x84]
push ecx
push edx
push 1
push eax
call fcn.004115d0
add esp, 0x1c
test eax, eax
jl 0x40e3c5
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x78]
lea esi, [esp + 0xf8]
rep stosd dword es:[edi], eax
mov ecx, 7
lea edi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 0x19
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
movsx ecx, bx
push ecx
lea edx, [esp + 0x18]
push str._02d
push edx
call ebp
mov ax, word [esp + 0x20]
mov ecx, 0x20
mov word [esp + 0x9b], ax
xor eax, eax
lea edi, [esp + 0x104]
lea esi, [esp + 0x84]
rep stosd dword es:[edi], eax
mov ecx, 7
lea edi, [esp + 0x104]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x188]
lea ecx, [esp + 0x84]
push 3
push ecx
push 1
push edx
movsb byte es:[edi], byte [esi]
call fcn.00411570
add esp, 0x1c
test ax, ax
jge 0x40e51f
pop edi
pop esi
pop ebp
or ax, 0xffff
pop ebx
add esp, 0x168
ret
xor ebp, ebp
mov ecx, dword [esp + 0x17c]
lea eax, [esp + 0x78]
push 0
push eax
push ecx
call fcn.00411590
add esp, 0xc
test eax, eax
jl 0x40e848
mov ecx, 0x19
lea edi, [esp + 0xf8]
lea esi, [esp + 0x78]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40e848
lea edx, [esp + 0x96]
mov dword [esp + 0x10], 7
mov bl, byte [edx + 2]
lea eax, [edx + 2]
mov ecx, 0x417134
cmp bl, byte [ecx]
jne 0x40e622
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
mov al, byte [edx + 1]
movsx bp, al
movsx esi, word [0x952fd2]
sub ebp, 0x41
mov byte [esp + 0x14], al
movsx ecx, bp
lea eax, [ecx + 1]
cmp eax, esi
jle 0x40e5b1
lea eax, [ebp + 1]
mov word [0x952fd2], ax
mov eax, ecx
shl eax, 5
add eax, ecx
lea eax, [ecx + eax*4]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, ecx
mov cx, word [edx]
shl eax, 1
mov word [eax + 0x952fe4], cx
mov cl, byte [edx + 3]
mov byte [eax + 0x953010], cl
mov cx, word [edx + 4]
mov word [eax + 0x953012], cx
mov cx, word [edx + 6]
mov word [eax + 0x953015], cx
mov cl, byte [edx + 8]
mov byte [eax + 0x953018], cl
lea ecx, [edx + 9]
lea esi, [eax + 0x95301a]
mov di, word [ecx]
mov word [esi], di
mov cl, byte [ecx + 2]
mov byte [esi + 2], cl
mov cl, byte [edx + 0xc]
mov byte [eax + 0x95301e], cl
mov cl, byte [edx + 0xd]
mov byte [eax + 0x953024], cl
jmp 0x40e831
mov bl, byte [eax]
mov ecx, 0x417388
cmp bl, byte [ecx]
jne 0x40e69b
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
lea eax, [edx + 3]
lea edi, [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov cx, word [eax + 8]
mov word [esp + 0x1c], cx
mov al, byte [eax + 0xa]
mov byte [esp + 0x1e], al
movsx eax, bp
mov ecx, eax
shl ecx, 5
add ecx, eax
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
xor eax, eax
lea ebx, [ecx*2 + 0x952fe7]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40e831
mov ecx, 1
mov edi, 0x417384
mov esi, eax
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40e6b2
sbb ebx, ebx
sbb ebx, 0xffffffff
test ebx, ebx
jl 0x40e74b
mov ecx, 1
mov edi, 0x41737c
mov esi, eax
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40e6d1
sbb ebx, ebx
sbb ebx, 0xffffffff
test ebx, ebx
jg 0x40e74b
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
lea ecx, [edx + 3]
lea edi, [esp + 0x14]
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
mov ax, word [ecx + 8]
mov word [esp + 0x1c], ax
mov cl, byte [ecx + 0xa]
movsx eax, bp
mov byte [esp + 0x1e], cl
mov ecx, eax
shl ecx, 5
add ecx, eax
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
xor eax, eax
lea ebx, [ecx*2 + 0x952fe7]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, ebx
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40e831
mov bl, byte [eax]
mov ecx, 0x417378
cmp bl, byte [ecx]
jne 0x40e79a
movsx ecx, bp
mov eax, ecx
shl eax, 5
add eax, ecx
lea eax, [ecx + eax*4]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, ecx
lea ecx, [edx + 3]
shl eax, 1
mov edi, dword [ecx]
lea esi, [eax + 0x953026]
lea eax, [eax + 0x953020]
mov cl, byte [ecx + 4]
mov dword [esi], edi
mov byte [esi + 4], cl
lea ecx, [edx + 8]
mov si, word [edx + 8]
mov word [eax], si
mov cl, byte [ecx + 2]
mov byte [eax + 2], cl
jmp 0x40e831
mov bl, byte [eax]
mov ecx, str.765432
cmp bl, byte [ecx]
jne 0x40e7c5
movsx eax, bp
mov ecx, eax
lea esi, [edx + 3]
shl ecx, 5
add ecx, eax
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
lea eax, [ecx*2 + 0x95302c]
jmp 0x40e819
mov bl, byte [eax]
mov ecx, 0x417524
cmp bl, byte [ecx]
jne 0x40e7f0
movsx eax, bp
mov ecx, eax
lea esi, [edx + 3]
shl ecx, 5
add ecx, eax
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
lea eax, [ecx*2 + 0x953040]
jmp 0x40e819
mov al, byte [eax]
mov ecx, 0x417520
cmp al, byte [ecx]
jne 0x40e831
movsx eax, bp
mov ecx, eax
lea esi, [edx + 3]
shl ecx, 5
add ecx, eax
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
lea eax, [ecx*2 + 0x953054]
mov ecx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov cx, word [esi + 8]
mov word [eax + 8], cx
mov cl, byte [esi + 0xa]
mov byte [eax + 0xa], cl
mov eax, dword [esp + 0x10]
add edx, 0xe
dec eax
mov dword [esp + 0x10], eax
jne 0x40e569
jmp 0x40e521
mov edx, 0x953010
mov ebx, 0x14
lea edi, [edx - 0x29]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8bb
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8bb
lea edi, [edx + 2]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8bb
lea edi, [edx + 5]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8bb
lea edi, [edx + 8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8bb
lea edi, [edx + 0xa]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8bb
lea edi, [edx + 0xe]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8bb
lea edi, [edx + 0x14]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40e8cf
lea esi, [edx + 0x14]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40e8cf
mov byte [esi], 0x30
add edx, 0x12b2
dec ebx
jne 0x40e852
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x168
ret