Function at 0x12e70
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
push esi
mov dword [0x36108], 0
mov dword [0x3610c], 0
mov dword [0x36110], 0
mov dword [0x36114], 0
mov dword [0x36118], 0
mov dword [0x3611c], 0
mov dword [0x36120], 0
mov dword [0x36124], 0
mov dword [0x36128], 0
mov dword [0x3612c], 0
mov dword [0x36130], 0
mov dword [0x36134], 0
mov dword [0x36138], 0
mov dword [0x3613c], 0
mov byte [0x36140], 0
mov dword [0x36144], 0
mov byte [0x36141], 0
mov byte [0x36142], 0
mov byte [0x36143], 0
mov dword [0x36148], 0
mov dword [0x3614c], 0
mov dword [0x36150], 0
mov dword [0x36154], 0
mov dword [0x36158], 0
mov dword [0x3615c], 0
mov dword [0x36160], 0
mov dword [0x36164], 0
mov dword [0x36168], 0
mov dword [0x3616c], 0
mov dword [0x36170], 0
mov dword [ebp - 4], 0
jmp 0x12fab
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
jge 0x13079
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x3b0a0], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x38940], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x36660], 0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x3d2e0], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x381dc], 0
xor eax, eax
mov ecx, dword [ebp - 4]
mov word [ecx*2 + 0x3d380], ax
mov edx, dword [ebp - 4]
mov byte [edx + 0x3d1a8], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x38f10], 0
mov dword [ebp - 0x18], 0
jmp 0x1301e
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 8
jge 0x13034
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
mov byte [eax + edx*8 + 0x3c440], 0
jmp 0x13015
mov dword [ebp - 0x18], 0
jmp 0x13046
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 8
jge 0x13074
mov edx, dword [ebp - 4]
shl edx, 5
mov eax, dword [ebp - 0x18]
mov dword [edx + eax*4 + 0x39e00], 0
mov ecx, dword [ebp - 4]
shl ecx, 6
mov edx, dword [ebp - 0x18]
fldz
fstp qword [ecx + edx*8 + 0x3d400]
jmp 0x1303d
jmp 0x12fa2
mov dword [ebp - 4], 0
jmp 0x1308b
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x10
jge 0x13342
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x37c60], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x398b0], 0
mov eax, dword [ebp - 4]
mov byte [eax*2 + 0x3abc0], 0
mov ecx, dword [ebp - 4]
mov byte [ecx*2 + 0x3abc1], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x36d60], 0
xor eax, eax
mov ecx, dword [ebp - 4]
mov word [ecx*2 + 0x3e3e0], ax
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x3c100], 0
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x3ed80], 0
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x39400], 0
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x381e0], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x3d3e0], 0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x38f00], 0
mov edx, dword [ebp - 4]
mov dword [edx*8 + 0x3b160], 0xffffffff
mov eax, dword [ebp - 4]
mov dword [eax*8 + 0x3b164], 0xffffffff
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x37320], 0
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x3e360], 0
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x3d260], 0
mov ecx, dword [ebp - 4]
fldz
fstp dword [ecx*4 + 0x36d20]
mov edx, dword [ebp - 4]
fldz
fstp dword [edx*4 + 0x3d3a0]
mov eax, dword [ebp - 4]
fldz
fstp dword [eax*4 + 0x372c0]
mov ecx, dword [ebp - 4]
fldz
fstp dword [ecx*4 + 0x36760]
mov edx, dword [ebp - 4]
fldz
fstp dword [edx*4 + 0x38de0]
mov eax, dword [ebp - 4]
fldz
fstp dword [eax*4 + 0x36620]
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x3c660], 0
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x382a0], 0
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x3d2a0], 0
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x398c0], 0
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x3e480], 0
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x3de60], 0
mov ecx, dword [ebp - 4]
fldz
fstp dword [ecx*4 + 0x37f80]
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x3e3a0], 0
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x43080], 0
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x3ab80], 0
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x3d300], 0
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x3dc00], 0
mov dword [ebp - 0x18], 0
jmp 0x13268
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 6
jge 0x1333d
mov edx, dword [ebp - 4]
imul edx, edx, 6
mov eax, dword [ebp - 0x18]
mov byte [edx + eax + 0x371e0], 0
mov ecx, dword [ebp - 4]
imul ecx, ecx, 6
mov edx, dword [ebp - 0x18]
mov byte [ecx + edx + 0x3de00], 0
mov eax, dword [ebp - 4]
imul eax, eax, 6
mov ecx, dword [ebp - 0x18]
mov byte [eax + ecx + 0x3e300], 0
mov edx, dword [ebp - 4]
imul edx, edx, 6
mov eax, dword [ebp - 0x18]
mov byte [edx + eax + 0x38f20], 0
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x18]
fldz
fstp dword [ecx + edx*4 + 0x367a0]
mov eax, dword [ebp - 4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x18]
fldz
fstp dword [eax + ecx*4 + 0x3d480]
mov edx, dword [ebp - 4]
imul edx, edx, 0x18
mov eax, dword [ebp - 0x18]
fldz
fstp dword [edx + eax*4 + 0x3dc60]
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x30
mov edx, dword [ebp - 0x18]
fldz
fstp qword [ecx + edx*8 + 0x3d820]
mov eax, dword [ebp - 4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x18]
mov dword [eax + ecx*4 + 0x3dea0], 0
mov edx, dword [ebp - 4]
imul edx, edx, 0x30
mov eax, dword [ebp - 0x18]
fldz
fstp qword [edx + eax*8 + 0x382e0]
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x18]
mov dword [ecx + edx*4 + 0x38960], 0
jmp 0x1325f
jmp 0x13082
mov dword [ebp - 4], 0
jmp 0x13354
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x10
jge 0x13415
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x3e240], 0
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x3d340], 0
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x3d1e0], 0
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x38ae0], 0
mov edx, dword [ebp - 4]
fldz
fstp qword [edx*8 + 0x3b0c0]
mov eax, dword [ebp - 4]
fldz
fstp qword [eax*8 + 0x38220]
mov ecx, dword [ebp - 4]
fldz
fstp qword [ecx*8 + 0x39980]
mov edx, dword [ebp - 4]
fldz
fstp qword [edx*8 + 0x39a60]
mov eax, dword [ebp - 4]
fldz
fstp dword [eax*4 + 0x39900]
mov ecx, dword [ebp - 4]
fldz
fstp dword [ecx*4 + 0x36720]
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x385e0], 0
mov eax, dword [ebp - 4]
fldz
fstp qword [eax*8 + 0x3abe0]
mov ecx, dword [ebp - 4]
fldz
fstp qword [ecx*8 + 0x3b700]
mov edx, dword [ebp - 4]
fldz
fstp qword [edx*8 + 0x38b20]
jmp 0x1334b
mov dword [ebp - 4], 0
jmp 0x13427
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jge 0x13465
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x381d0], 0
mov edx, dword [ebp - 4]
fldz
fstp dword [edx*4 + 0x39940]
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x36600], 0
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x3c0e0], 0
jmp 0x1341e
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [0x36108], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [0x3610c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.ntoskrnl.exe_MmGetPhysicalAddress]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
push 0
push 0x290
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ntoskrnl.exe_MmMapIoSpace]
mov dword [0x36100], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
mov dword [0x3b4e0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.ntoskrnl.exe_MmGetPhysicalAddress]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
push 0
mov edx, dword [0x36108]
imul edx, edx, 0x3e0
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.ntoskrnl.exe_MmMapIoSpace]
mov dword [0x3d600], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
push eax
call dword [sym.imp.ntoskrnl.exe_MmGetPhysicalAddress]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
push 0
mov ecx, dword [0x3610c]
imul ecx, ecx, 0x144
mov edx, dword [0x3610c]
imul edx, edx, 0x144
add ecx, edx
mov eax, dword [0x3610c]
shl eax, 7
add ecx, eax
mov edx, dword [0x3610c]
shl edx, 7
add ecx, edx
mov eax, dword [0x3610c]
imul eax, eax, 0x30c
add ecx, eax
mov edx, dword [0x3610c]
imul edx, edx, 0x30c
add ecx, edx
mov eax, dword [0x3610c]
shl eax, 7
add ecx, eax
mov edx, dword [0x36108]
imul edx, edx, 0x90
add ecx, edx
mov eax, dword [0x36108]
imul eax, eax, 0x180
add ecx, eax
mov edx, dword [0x36108]
imul edx, edx, 0x180
lea eax, [ecx + edx + 0x40]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ntoskrnl.exe_MmMapIoSpace]
mov dword [0x37d40], eax
mov eax, dword [0x3610c]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov dword [0x36fc0], eax
mov ecx, dword [0x3610c]
imul ecx, ecx, 0x144
add ecx, dword [0x36fc0]
mov dword [0x3dc48], ecx
mov edx, dword [0x3610c]
shl edx, 7
add edx, dword [0x3dc48]
mov dword [0x398a0], edx
mov eax, dword [0x3610c]
shl eax, 7
add eax, dword [0x398a0]
mov dword [0x3dbe0], eax
mov ecx, dword [0x3610c]
imul ecx, ecx, 0x30c
add ecx, dword [0x3dbe0]
mov dword [0x43060], ecx
mov edx, dword [0x3610c]
imul edx, edx, 0x30c
add edx, dword [0x43060]
mov dword [0x3c140], edx
mov eax, dword [0x3610c]
shl eax, 7
add eax, dword [0x3c140]
mov dword [0x3d3f0], eax
mov ecx, dword [0x36108]
imul ecx, ecx, 0x90
add ecx, dword [0x3d3f0]
mov dword [0x396c0], ecx
mov edx, dword [0x36108]
imul edx, edx, 0x180
add edx, dword [0x396c0]
mov dword [0x39a00], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
push ecx
call dword [sym.imp.ntoskrnl.exe_MmGetPhysicalAddress]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
push 0
mov edx, dword [0x36108]
shl edx, 5
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.ntoskrnl.exe_MmMapIoSpace]
mov dword [0x36700], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [0x3d3f4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [0x36110], edx
cmp dword [0x3610c], 0
jle 0x13e3e
cmp dword [0x36110], 0
jne 0x13e3e
mov dword [ebp - 4], 0
jmp 0x136cf
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [0x3610c]
jge 0x13d65
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
mov eax, dword [0x3d3f4]
movzx ecx, word [eax + edx + 0xa]
and ecx, 1
je 0x13702
mov edx, dword [ebp - 4]
mov byte [edx + 0x36660], 0
jmp 0x1370c
mov eax, dword [ebp - 4]
mov byte [eax + 0x36660], 1
cmp dword [0x36110], 0
je 0x1371f
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x36660], 0
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
mov eax, dword [ebp - 4]
mov ecx, dword [0x3d3f4]
mov edx, dword [ecx + edx]
mov dword [eax*4 + 0x3b0a0], edx
mov eax, dword [ebp - 4]
cmp dword [eax*4 + 0x3b0a0], 0
je 0x1383e
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x36660]
cmp edx, 1
jne 0x1383e
cmp dword [ebp - 4], 0
jne 0x13801
mov edx, 0x304
mov al, 0x83
out dx, al
mov edx, 0x317
mov al, 3
out dx, al
push 0x64
call fcn.0001a8f0
mov eax, dword [0x3d3f4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0
push 0
push 0x10000
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ntoskrnl.exe_MmMapIoSpace]
mov dword [0x39e44], eax
mov ecx, dword [0x39e44]
mov dword [0x39e40], ecx
mov edx, dword [0x39e40]
mov dword [0x37f60], edx
mov eax, dword [0x37f60]
mov dword [0x3c3a0], eax
mov ecx, dword [0x39e44]
mov dword [0x37f64], ecx
mov edx, dword [0x37f64]
mov dword [0x3c3a4], edx
mov eax, dword [0x39e40]
add eax, 0x8000
mov dword [0x39e44], eax
mov ecx, dword [0x39e44]
mov dword [0x39e40], ecx
mov edx, dword [ebp - 4]
cmp dword [edx*4 + 0x39e40], 0
jne 0x13828
mov eax, dword [ebp + 0xc]
mov dword [eax], 4
mov ecx, dword [ebp - 4]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], ecx
jmp 0x13e75
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x39e40]
mov dword [eax*4 + 0x3e220], edx
jmp 0x1385a
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x39e40], 0
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x3e220], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x38940], 0
mov eax, dword [ebp - 4]
cmp dword [eax*4 + 0x39e40], 0
je 0x13d60
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x38940], 1
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
mov eax, dword [0x3d3f4]
movzx ecx, word [eax + edx + 8]
sar ecx, 8
and ecx, 0xff
mov edx, dword [ebp - 4]
imul edx, edx, 0x144
mov eax, dword [0x37d40]
mov word [eax + edx + 0x102], cx
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
mov edx, dword [ebp - 4]
mov eax, dword [0x37d40]
mov cl, byte [eax + ecx + 0x102]
mov byte [edx + 0x38f10], cl
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
mov ecx, dword [0x37d40]
mov esi, dword [0x3d3f4]
mov dx, word [esi + edx + 8]
mov word [ecx + eax + 0x104], dx
mov eax, dword [ebp - 4]
imul eax, eax, 0x148
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
mov edx, dword [0x37d40]
mov esi, dword [0x3d3f4]
mov ax, word [esi + eax + 0xa]
mov word [edx + ecx + 0x106], ax
mov dword [ebp - 0x18], 0
jmp 0x13937
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0x1c
jge 0x13970
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
add edx, dword [0x3d3f4]
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov dx, word [edx + esi*2 + 0xc]
mov word [eax + ecx*2 + 0x108], dx
jmp 0x1392e
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
mov ecx, 0x1000
mov edx, dword [0x37d40]
mov word [edx + eax + 0x140], cx
mov dword [ebp - 0x18], 0
jmp 0x1399e
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x38f10]
cmp dword [ebp - 0x18], edx
jge 0x13d60
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov dword [eax + ecx], 0
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
add edx, dword [0x3d3f4]
mov eax, dword [ebp - 0x18]
shl eax, 5
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
add ecx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov dx, word [edx + eax + 0x48]
mov word [ecx + esi + 4], dx
mov eax, dword [ebp - 4]
imul eax, eax, 0x148
add eax, dword [0x3d3f4]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
movzx edx, word [eax + ecx + 0x48]
test edx, edx
je 0x13a56
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
movzx edx, word [eax + ecx + 4]
or edx, 1
mov eax, dword [ebp - 0x18]
shl eax, 5
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
add ecx, dword [0x37d40]
mov word [ecx + eax + 4], dx
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
add edx, dword [0x3d3f4]
mov eax, dword [ebp - 0x18]
shl eax, 5
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
add ecx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov dx, word [edx + eax + 0x4a]
mov word [ecx + esi + 6], dx
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 0x18]
mov al, byte [eax + ecx + 6]
mov byte [esi + edx*8 + 0x38e20], al
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x148
add ecx, dword [0x3d3f4]
mov edx, dword [ebp - 0x18]
shl edx, 5
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov cx, word [ecx + edx + 0x4c]
mov word [eax + esi + 8], cx
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
add edx, dword [0x3d3f4]
mov eax, dword [ebp - 0x18]
shl eax, 5
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
add ecx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov dx, word [edx + eax + 0x4e]
mov word [ecx + esi + 0xa], dx
mov eax, dword [ebp - 4]
imul eax, eax, 0x148
add eax, dword [0x3d3f4]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov edx, dword [ebp - 4]
imul edx, edx, 0x144
add edx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov ax, word [eax + ecx + 0x54]
mov word [edx + esi + 0xc], ax
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x148
add ecx, dword [0x3d3f4]
mov edx, dword [ebp - 0x18]
shl edx, 5
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov cx, word [ecx + edx + 0x56]
mov word [eax + esi + 0xe], cx
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
add edx, dword [0x3d3f4]
mov eax, dword [ebp - 0x18]
shl eax, 5
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
add ecx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov dx, word [edx + eax + 0x58]
mov word [ecx + esi + 0x10], dx
mov eax, dword [ebp - 4]
imul eax, eax, 0x148
add eax, dword [0x3d3f4]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov edx, dword [ebp - 4]
imul edx, edx, 0x144
add edx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov ax, word [eax + ecx + 0x5a]
mov word [edx + esi + 0x12], ax
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x148
add ecx, dword [0x3d3f4]
mov edx, dword [ebp - 0x18]
shl edx, 5
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov cx, word [ecx + edx + 0x5c]
mov word [eax + esi + 0x14], cx
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
add edx, dword [0x3d3f4]
mov eax, dword [ebp - 0x18]
shl eax, 5
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
add ecx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov dx, word [edx + eax + 0x5e]
mov word [ecx + esi + 0x16], dx
mov eax, dword [ebp - 4]
imul eax, eax, 0x148
add eax, dword [0x3d3f4]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov edx, dword [ebp - 4]
imul edx, edx, 0x144
add edx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov ax, word [eax + ecx + 0x60]
mov word [edx + esi + 0x18], ax
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x148
add ecx, dword [0x3d3f4]
mov edx, dword [ebp - 0x18]
shl edx, 5
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov cx, word [ecx + edx + 0x62]
mov word [eax + esi + 0x1a], cx
mov edx, dword [ebp - 4]
imul edx, edx, 0x148
add edx, dword [0x3d3f4]
mov eax, dword [ebp - 0x18]
shl eax, 5
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x144
add ecx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov dx, word [edx + eax + 0x64]
mov word [ecx + esi + 0x1c], dx
mov eax, dword [ebp - 4]
imul eax, eax, 0x148
add eax, dword [0x3d3f4]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov edx, dword [ebp - 4]
imul edx, edx, 0x144
add edx, dword [0x37d40]
mov esi, dword [ebp - 0x18]
shl esi, 5
mov ax, word [eax + ecx + 0x66]
mov word [edx + esi + 0x1e], ax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
mov byte [edx + ecx*8 + 0x3c440], 0
mov eax, dword [ebp - 4]
imul eax, eax, 0x144
add eax, dword [0x37d40]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
movzx edx, word [eax + ecx + 0xc]
and edx, 1
je 0x13d5b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
mov byte [ecx + eax*8 + 0x3c440], 1
jmp 0x13995
jmp 0x136c6
movzx edx, byte [0x36660]
cmp edx, 1
jne 0x13e3e
mov dx, word [0x3b0a0]
in al, dx
movzx eax, al
and eax, 2
je 0x13d9d
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 2
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], 1
jmp 0x13e75
mov eax, dword [0x36100]
movzx ecx, byte [eax + 0x1e0]
and ecx, 0xffffff7e
mov edx, dword [0x36100]
mov byte [edx + 0x1e0], cl
mov eax, dword [0x36100]
movzx ecx, byte [eax + 0x1e0]
or ecx, 0xa
mov edx, dword [0x36100]
mov byte [edx + 0x1e0], cl
mov eax, dword [0x36100]
movzx ecx, byte [eax + 0x1e1]
or ecx, 1
mov edx, dword [0x36100]
mov byte [edx + 0x1e1], cl
mov eax, dword [0x36100]
movzx ecx, byte [eax + 0x1e1]
or ecx, 0xa
mov edx, dword [0x36100]
mov byte [edx + 0x1e1], cl
mov eax, dword [0x36100]
mov al, byte [eax + 0x1e0]
mov edx, dword [0x3b0a0]
add edx, 4
out dx, al
mov ecx, dword [0x36100]
mov al, byte [ecx + 0x1e1]
mov edx, dword [0x3b0a0]
add edx, 0x17
out dx, al
push 0xa
call fcn.0001a8f0
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 0x1b9c0
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], 0x37320
movzx edx, byte [0x38f10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], edx
movzx ecx, byte [0x38f11]
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x10], ecx
pop esi
mov esp, ebp
pop ebp
ret 8