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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push ebx
push ecx
add esp, 4
and ebx, 0x243d
pop ebx
push ebx
push esi
add esp, 4
add ebx, 0x786a
pop ebx
push edi
xor edi, 0x83c5
sub edi, 0x24
and edi, 0x6004
and edi, 0x131de
pop edi
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x404e52
push edx
call 0x404e29
add byte [eax + 0x45], al
push eax
xor al, 0x4b
cmp eax, 0x4c4834e
xor edx, 0x138b2
xor edx, 0x8579
sub edx, 0x6bc5
pop edx
push ecx
add ecx, 0xc19
or ecx, 0x7b0c
pop ecx
jmp 0x405080
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ecx
push edi
add esp, 4
xor ecx, 0xa65
or ecx, 0x9d1
sub ecx, 0xd4d3
or ecx, 0x11c66
pop ecx
push eax
xor eax, 0xf125
sub eax, 0x4d33
xor eax, 0x404c
pop eax
mov edx, dword [ebp - 0x15d0]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15d0]
jne 0x404f01
push esi
push edx
add esp, 4
xor esi, 0xb503
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0xb2dd
xor ebx, 0x11718
pop ebx
push eax
and eax, 0xeca3
xor eax, 0x6a2c
and eax, 0x15cac
pop eax
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x405032
cmp dword [ebp - 0xc88], 0
jle 0x405026
push ecx
push edi
add esp, 4
call fcn.00404f23
add byte [eax + 0x41], cl
cmp dword [eax + 0x48], edx
xor al, 0x50
jmp 0x405026
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x40507b
push eax
push eax
add esp, 4
and eax, 0x7c89
call 0x405055
add byte [0x4a413a4d], bh
xor al, 0x37
inc esp
xor al, byte [ebx - 0xf7efb3c]
push eax
pop esi
add byte [eax], al
sub eax, 0x14ab6
pop eax
push ebx
add ebx, 0x12ace
pop ebx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x4050bc
jmp 0x404dc9
push esi
push eax
add esp, 4
or esi, 0x1834e
and esi, 0xbe43
pop esi
push edx
call 0x40509f
add byte [eax + 0x4f], cl
inc edx
push eax
inc ebx
add esp, 4
jmp 0x4050a9
pop edx
push edx
xor edx, 0x12cfe
pop edx
mov dword [ebp - 0xab8], 0
push ebx
push esi
add esp, 4
add ebx, 0x1e42
sub ebx, 0x12ba3
or ebx, 0x1c3e
pop ebx
push edx
xor edx, 0x9615
jmp 0x4050e1
pop edx
push esi
push eax
add esp, 4
add esi, 0x9981
pop esi
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push esi
or esi, 0x143cb
and esi, 0x1869e
pop esi
push eax
call 0x40515e
add byte [ecx + eax*2 + 0x50], cl
inc edi
inc esp
dec edx
add esp, 4
pop eax
push edi
push eax
add esp, 4
and edi, 0x1093a
or edi, 0xb6c5
pop edi
mov ecx, 0x6b
mov word [ebp - 0x1738], cx
mov edx, 0x65
mov word [ebp - 0x1736], dx
mov eax, 0x72
mov word [ebp - 0x1734], ax
mov ecx, 0x6e
mov word [ebp - 0x1732], cx
mov edx, 0x65
mov word [ebp - 0x1730], dx
mov eax, 0x6c
mov word [ebp - 0x172e], ax
mov ecx, 0x33
mov word [ebp - 0x172c], cx
mov edx, 0x32
mov word [ebp - 0x172a], dx
mov eax, 0x2e
mov word [ebp - 0x1728], ax
mov ecx, 0x64
mov word [ebp - 0x1726], cx
mov edx, 0x6c
mov word [ebp - 0x1724], dx
mov eax, 0x6c
mov word [ebp - 0x1722], ax
xor ecx, ecx
mov word [ebp - 0x1720], cx
push eax
push ecx
add esp, 4
and eax, 0x1093a
jmp 0x40521f
jmp 0x405226
and eax, 0x218e
pop eax
push edi
push edx
add esp, 4
add edi, 0x140e6
xor edi, 0x958
pop edi
push edi
push ebx
add esp, 4
jmp 0x40524b
sub edi, 0x74ce
add edi, 0x6460
jmp 0x40525e
pop edi
push edi
push ecx
add esp, 4
and edi, 0x9e2c
sub edi, 0x118f1
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1958], ecx
mov edx, dword [ebp - 0x1958]
mov dword [ebp - 0x15d8], edx
push ecx
push edx
add esp, 4
call 0x4052aa
add byte [ebp + 0x34], cl
cmp eax, 0x83425038
les eax, [ecx + eax*4]
ror ebp, 7
add dword [eax], eax
sub ecx, 0x10582
jmp 0x4052c2
pop ecx
push esi
sub esi, 0x1ea8
pop esi
cmp dword [ebp - 0x15d8], 0
jne 0x4052e3
mov dword [ebp - 0x31c], 0
jmp 0x40559f
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push eax
jmp 0x4052ff
pop eax
push edx
call 0x405311
add byte [esi], dh
inc eax
inc ebx
inc esi
inc edx
dec esp
inc esi
xor al, 0x46
dec edi
add esp, 4
pop edx
push edx
push ebx
add esp, 4
add edx, 0xc16b
xor edx, 0xb9f9
pop edx
cmp dword [ebp - 0xc98], 0
jne 0x40533f
mov dword [ebp - 0x31c], 0
jmp 0x40559f
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push ebx
sub ebx, 0x13f87
sub ebx, 0x130eb
pop ebx
push ecx
or ecx, 0x7588
or ecx, 0x9c32
pop ecx
push eax
add eax, 0x8c67
jmp 0x405374
jmp 0x40537c
pop eax
lea ecx, [ebp - 0x1738]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push edi
add edi, 0x12be3
xor edi, 0xb7df
add edi, 0xa566
and edi, 0x56e4
pop edi
push ecx
push edi
add esp, 4
sub ecx, 0x12479
add ecx, 0x12e89
or ecx, 0xf8a3
pop ecx
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
mov ax, word [ebp - 0x1032]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc94]
mov dx, word [ecx]
mov word [ebp - 0x1034], dx
mov eax, dword [ebp - 0xc94]
add eax, 2
mov dword [ebp - 0xc94], eax
mov cx, word [ebp - 0x1034]
mov word [ebp - 0x10c], cx
push esi
jmp 0x40543f
and esi, 0x17c96
pop esi
push edx
call 0x405457
add byte [ecx + ecx*2], dh
xor ecx, dword [ebx + 0x38]
inc eax
cmp esi, dword [ebx]
inc ebp
cmp al, 0x83
les eax, [ecx + eax*4]
loop 0x40548a
jb 0x40545f
add bl, ch
add eax, 0x38433232
dec esp
pop edx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x40548b
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x4054ee
arpl word [edi], cx
mov bh, 0x95
invalid
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x4053aa
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x4053aa
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x4054d8
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x4054e2
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x405537
push edi
push eax
add esp, 4
jmp 0x405503
and edi, 0x9c45
pop edi
push ebx
xor ebx, 0x37ce
call 0x40551f
add byte [edi + 0x3d], al
inc edi
aas
inc edx
dec ebp
inc ebp
dec edx
add esp, 4
and ebx, 0x4706
pop ebx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x40559f
push ebx
or ebx, 0xe6e9
pop ebx
push edi
push ebx
add esp, 4
sub edi, 0x54c1
pop edi
push esi
push esi
add esp, 4
and esi, 0x199f
and esi, 0xb9ea
add esi, 0x84c2
or esi, 0xa874
pop esi
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x405595
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x40534b
mov dword [ebp - 0x31c], 0
push ebx
push edx
add esp, 4
call 0x4055b0
add byte [ecx + 0x49], cl
inc ebp
inc eax
dec edx
inc edi
add esp, 4
pop ebx
push ebx
jmp 0x4055be
pop ebx
push eax
push esi
add esp, 4
add eax, 0x69f7
add eax, 0x30e1
pop eax
cmp dword [ebp - 0x31c], 0
jne 0x405eea
mov edx, 0x6b
mov word [ebp - 0x1774], dx
mov eax, 0x65
mov word [ebp - 0x1772], ax
mov ecx, 0x72
mov word [ebp - 0x1770], cx
mov edx, 0x6e
mov word [ebp - 0x176e], dx
mov eax, 0x65
mov word [ebp - 0x176c], ax
mov ecx, 0x6c
mov word [ebp - 0x176a], cx
mov edx, 0x33
mov word [ebp - 0x1768], dx
mov eax, 0x32
mov word [ebp - 0x1766], ax
mov ecx, 0x2e
mov word [ebp - 0x1764], cx
mov edx, 0x64
mov word [ebp - 0x1762], dx
mov eax, 0x6c
mov word [ebp - 0x1760], ax
mov ecx, 0x6c
mov word [ebp - 0x175e], cx
xor edx, edx
mov word [ebp - 0x175c], dx
push eax
or eax, 0x3d87
pop eax
push eax
or eax, 0xb4ab
add eax, 0x256b
sub eax, 0x15f97
or eax, 0x94a0
pop eax
push ecx
xor ecx, 0xcbcd
jmp 0x4056a8
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 - 0x195c], eax
mov ecx, dword [ebp - 0x195c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x1960]
mov dword [ebp - 0x15e4], eax
push edi
xor edi, 0x3688
pop edi
push eax
push edi
add esp, 4
add eax, 0x6e2
or eax, 0x15313
call 0x405753
add byte [ebx + ecx*2], dh
dec edi
dec eax
inc eax
dec eax
inc ebp
inc eax
add esp, 4
add eax, 0x13633
pop eax
cmp dword [ebp - 0x15e4], 0
jne 0x405775
mov dword [ebp - 0x750], 0
jmp 0x405a31
mov ecx, dword [ebp - 0x15e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push edi
push esi
add esp, 4
or edi, 0xe6d4
call 0x4057a0
add byte [esi + 0x3c], al
xor al, 0x4a
cmp al, 0x36
dec edx
inc edx
add esp, 4
call 0x4057af
add byte [edx + 0x35], al
inc esi
cmp dword [eax + 0x4b], eax
add esp, 4
and edi, 0x116c9
pop edi
cmp dword [ebp - 0xca4], 0
jne 0x4057d1
mov dword [ebp - 0x750], 0
jmp 0x405a31
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push ebx
jmp 0x4057e6
add ebx, 0x123f6
pop ebx
push eax
push ecx
add esp, 4
xor eax, 0x4c7e
call 0x405805
add byte [edi], dh
xor eax, 0x3f46463b
dec ebp
add esp, 4
and eax, 0x17499
pop eax
lea edx, [ebp - 0x1774]
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 esi
push ecx
add esp, 4
sub esi, 0x1531
pop esi
push edi
jmp 0x40584f
call 0x40585c
add byte [edx + 0x3d], al
xor edi, dword [eax]
cmp al, byte [ebp + 0x3f]
add esp, 4
pop edi
push edi
add edi, 0x1764f
jmp 0x40586d
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 esi
and esi, 0x15c54
sub esi, 0x4e40
add esi, 0x6d8c
sub esi, 0xb877
pop esi
push edx
push ecx
add esp, 4
and edx, 0x14054
add edx, 0x604
and edx, 0xc52f
pop edx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x40591d
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15ec], ecx
jmp 0x405980
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x40583c
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x40583c
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x40596a
mov dword [ebp - 0x15e8], 0xffffffff
jmp 0x405974
mov dword [ebp - 0x15e8], 1
mov eax, dword [ebp - 0x15e8]
mov dword [ebp - 0x15ec], eax
cmp dword [ebp - 0x15ec], 0
jne 0x4059c9
push eax
push ebx
add esp, 4
jmp 0x405994
pop eax
push ebx
sub ebx, 0x1519
xor ebx, 0x5229
or ebx, 0x76a9
add ebx, 0x10e6f
pop ebx
push edx
push eax
add esp, 4
and edx, 0x15e31
pop edx
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x405a31
push eax
push esi
add esp, 4
add eax, 0xf6
sub eax, 0x7882
xor eax, 0x16057
pop eax
push edi
xor edi, 0xc968
or edi, 0x763f
xor edi, 0x1f0c
sub edi, 0x1390b
pop edi
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 0x405a27
mov edx, dword [ebp - 0x508]
cmp dword [edx + 0x30], 0
jne 0x4057dd
mov dword [ebp - 0x750], 0
push edi
or edi, 0x3422
pop edi
push eax
push ebx
add esp, 4
sub eax, 0xb40e
call 0x405a51
add byte [esi + 0x3c], cl
dec esi
xor eax, dword [ebx + edi + 0x45]
add esp, 4
pop eax
push esi
or esi, 0x1085a
or esi, 0x411a
pop esi
cmp dword [ebp - 0x750], 0
jne 0x405aad
push eax
and eax, 0x1540e
sub eax, 0x4a50
or eax, 0xf37e
pop eax
push edx
and edx, 0x107a7
pop edx
push ecx
jmp 0x405a91
or ecx, 0x13598
or ecx, 0xb555
pop ecx
mov dword [ebp - 0x79c], 0
jmp 0x4065d4
push eax
sub eax, 0x155ff
and eax, 0x1842
or eax, 0x600b
pop eax
push edx
add edx, 0x43b0
call fcn.00405ad5
add byte [ebx + 0x3b], cl
push ebx
and ebx, 0xb568
pop ebx
push ebx
push esi
add esp, 4
or ebx, 0x5739
or ebx, 0x4788
xor ebx, 0x1032d
sub ebx, 0x5404
pop ebx
push eax
push esi
add esp, 4
sub eax, 0x6cba
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push ebx
push esi
add esp, 4
and ebx, 0x3af5
xor ebx, 0xaee2
pop ebx
push ecx
push esi
add esp, 4
and ecx, 0x5732
sub ecx, 0xf597
pop ecx
push esi
xor esi, 0x18321
or esi, 0x128e3
pop esi
cmp dword [ebp - 0x15fc], 0
jne 0x405f8d
mov dword [ebp - 0x31c], 0
jmp 0x406234
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edx
push edi
add esp, 4
and edx, 0x119cd
or edx, 0xca9f
sub edx, 0x16b9e
or edx, 0x174c5
pop edx
push ebx
add ebx, 0xf41e
sub ebx, 0xf3d1
add ebx, 0x7a17
pop ebx
cmp dword [ebp - 0xcb4], 0
jne 0x405fe9
mov dword [ebp - 0x31c], 0
jmp 0x406234
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push ecx
push ecx
add esp, 4
xor ecx, 0xd62d
add ecx, 0x4591
add ecx, 0x9e47
and ecx, 0xb2fb
pop ecx
push eax
add eax, 0x1147e
add eax, 0x123bd
and eax, 0xffef
pop eax
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push eax
push edx
add esp, 4
jmp 0x40605c
or eax, 0xaf8
jmp 0x406069
pop eax
push edi
xor edi, 0x6445
xor edi, 0x15eca
sub edi, 0x1772e
jmp 0x406082
pop edi
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push esi
push esi
add esp, 4
call 0x4060ee
add byte [edi + 0x39], cl
aaa
inc ebx
cmp dword [esp + esi + 0x49], eax
inc edx
add esp, 4
or esi, 0x27a9
xor esi, 0x17ff1
and esi, 0xa0ea
pop esi
push ebx
sub ebx, 0x70c1
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x406129
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x406183
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x406051
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x406051
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x40616d
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x406177
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x4061cc
push ebx
xor ebx, 0x41f5
jmp 0x40619a
pop ebx
push esi
or esi, 0x86cc
jmp 0x4061a8
pop esi
push edi
push edx
add esp, 4
call 0x4061ba
add byte [esp + ecx*2 + 0x3c], cl
inc edx
xor cl, byte [ebp - 0x7d]
les eax, [edi + ebx*2]
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x406234
push eax
push ecx
add esp, 4
jmp 0x4061d9
pop eax
push ecx
push ebx
add esp, 4
call 0x4061ec
add byte [eax + 0x3c], dl
dec esi
xor bh, byte ds:[edi]
dec esp
add esp, 4
jmp 0x4061f7
and ecx, 0x6a98
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x40622a
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x405ff5
mov dword [ebp - 0x31c], 0
push esi
push ecx
add esp, 4
and esi, 0x174d4
jmp 0x406247
sub esi, 0x90b2
jmp 0x406252
pop esi
push edx
call 0x406262
add byte [esi + 0x48], cl
cmp eax, 0x4b323b3a
dec edx
add esp, 4
pop edx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ecx
call 0x406285
add byte [edx + 0x40], al
inc ebx
xor ecx, dword [ebx + edi + 0x47]
inc ebp
add esp, 4
sub ecx, 0x14853
sub ecx, 0x11f2e
pop ecx
push ecx
push edi
add esp, 4
sub ecx, 0xd547
sub ecx, 0x13556
pop ecx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x4062d7
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x4065c8
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x4062ff
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x4065c8
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x406331
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x4065c8
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x406356
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x4065c8
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1988], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x768], 0
jmp 0x4063b0
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x4065bc
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1984]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1988]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d10]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x198c], eax
mov dword [ebp - 0x19c], 0
jmp 0x406420
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x4064d2
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x4064d2
push eax
push edi
add esp, 4
and eax, 0x11df
pop eax
push ebx
push edx
add esp, 4
or ebx, 0x15c27
and ebx, 0x1c62
or ebx, 0x3515
pop ebx
push eax
or eax, 0x183e1
sub eax, 0x15804
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x4064c4
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x4064cb
jmp 0x406411
jmp 0x4064d2
push ecx
push eax
add esp, 4
call 0x4064e4
add byte [esi], bh
dec ecx
aas
cmp dword [esi], edi
cmp ecx, dword [ecx - 0x7d]
les eax, [ecx + ebx*2]
push eax
jmp 0x4064f0
sub eax, 0x53ca
jmp 0x4064fb
pop eax
push edi
jmp 0x406503
pop edi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x406531
mov dword [ebp - 0xcb8], 0
jmp 0x4065a0
push edx
push eax
add esp, 4
xor edx, 0x100cb
pop edx
push ebx
jmp 0x406547
add ebx, 0xbead
pop ebx
push edi
jmp 0x406556
pop edi
push ecx
push esi
add esp, 4
or ecx, 0x537f
pop ecx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x406596
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x4065a0
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x4065b7
mov ecx, dword [ebp - 0x198c]
mov dword [ebp - 0x510], ecx
jmp 0x4065c8
jmp 0x4063a1
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push edi
push eax
add esp, 4
add edi, 0x38b7
pop edi
push esi
sub esi, 0x790c
call 0x4065f6
add byte [ecx + eax*2], dh
xor ecx, dword [ecx + 0x4d]
xor al, 0x38
cmp edi, dword [0x8104c483]
out dx, al
invalid