Function at 0x4243df
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x468
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x60], 0x4bd045d3
mov dword [esp + 0x64], 0x4fef49e1
mov dword [esp + 0x68], 0xb31e4ddd
mov dword [esp + 0x6c], 0xb728b119
mov dword [esp + 0x70], 0xbbb4b51d
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7b], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x60]
mov dword [esp + 4], eax
mov edx, ecx
and edx, 0xa
xor edx, 0x3b11970a
mov esi, ecx
xor esi, 0x44ee68f5
or esi, edx
mov edi, 0x7ffffffd
sub edi, esi
sub edi, esi
lea esi, [esi*2 + 2]
mov edx, ecx
xor edx, 0xc4ee68f5
xor esi, edx
and edx, edi
add edx, edx
sub edx, esi
lea edi, [edx + edx]
mov ebx, edi
not ebx
add ebx, edx
mov esi, edx
and esi, eax
or ebx, eax
add ebx, esi
mov eax, ebx
xor eax, esi
not esi
and esi, ebx
add esi, esi
sub esi, eax
mov ebx, dword [esp + 4]
lea eax, [ebx + ebx]
not eax
add eax, ebx
and edi, 0x65ef2e3e
xor edx, 0xb2f7971f
add edx, edi
add edx, 0x4d0868e1
or edx, eax
mov eax, esi
or eax, edx
add edx, esi
not edx
add edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
add al, 0x4d
mov byte [esp + ecx + 0x60], al
inc ecx
cmp ecx, 0x1f
jne case.default.0x423661
lea ebx, [esp + 0x60]
lea ecx, [esp + 0x40]
push ebx
call fcn.0043bf30
shr eax, 0x1f
xor edi, edi
jmp dword [eax*4 + 0x449774]
lea ecx, [esp + 0x40]
push 0x410
call fcn.0043c1c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44977c]
xor edi, edi
jmp dword [0x449790]
mov dword [esp + 0x60], 0x240b322d
mov dword [esp + 0x64], 0x2624092e
mov dword [esp + 0x68], 0x323d3b19
mov dword [esp + 0x6c], 0xf383c1d
mov dword [esp + 0x70], 0x2e13180c
mov dword [esp + 0x74], 0x7161c15
mov dword [esp + 0x78], 0xc012400
mov dword [esp + 0x7c], 0x270e2b
mov dword [esp + 0x80], 0x283a3c38
mov dword [esp + 0x84], 0x182b4139
mov dword [esp + 0x88], 0x8b5c3539
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x93], 0
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x60]
lea edx, [eax - 0x473c2fb7]
xor edx, ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
inc cl
mov byte [esp + eax + 0x60], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x36
ja 0x423773
movzx ecx, byte [esp + eax + 0x60]
lea edx, [eax - 0x473c2fb7]
xor edx, ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
inc cl
mov byte [esp + eax + 0x60], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
jmp 0x423720
lea eax, [esp + 0x54]
lea ecx, [esp + 0x40]
push 0
push 0x2b
push ebx
push eax
call fcn.0043c7e0
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
xor eax, eax
cmp edx, esi
sete al
jmp dword [eax*4 + 0x449794]
mov eax, esi
sub eax, edx
sar eax, 2
mov ecx, eax
and ecx, 0xfffffbde
mov edi, esi
mov esi, edx
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.00408d90
mov edx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x18], 0
xor eax, eax
mov dword [esp + 0x38], edi
cmp edx, edi
setne al
mov dword [esp + 0x34], esi
jmp dword [eax*4 + 0x44979c]
mov eax, dword [esp + 0x18]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x449844]
jmp dword [0x44984c]
add edx, 4
xor eax, eax
cmp edx, dword [esp + 0x38]
setne al
jmp dword [eax*4 + 0x44979c]
mov dword [esp + 0x3c], edx
mov edi, dword [edx]
push 0x400
push 0
push ebx
call fcn.00408f20
add esp, 0xc
lea eax, [esp + 0x20]
lea ecx, [esp + 0x40]
push eax
push 0x400
push ebx
push edi
call fcn.0043c660
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
jmp dword [ecx*4 + 0x4497a4]
xor ecx, ecx
cmp dword [esp + 0x20], 0
sete cl
mov eax, 1
jmp dword [ecx*4 + 0x4497ac]
mov ecx, dword [case.0x423795.6]
nop
nop
nop
nop
nop
xor eax, eax
jmp ecx
mov edx, dword [esp + 0x3c]
jmp dword [eax*4 + 0x4497c4]
jmp dword [0x4497d4]
mov byte [esp + 0x45f], 0
movzx eax, byte [esp + 0x60]
xor edi, edi
test al, al
je 0x423890
mov ecx, ebx
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x4238c0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4238b0
jmp 0x423890
mov edi, ecx
jmp dword [0x4497d4]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4497dc]
movzx eax, byte [edi + 1]
inc edi
mov dword [esp + 8], 0
test al, al
je 0x423903
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x4238ff
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4238f0
jmp 0x423903
mov dword [esp + 8], ecx
xor eax, eax
cmp dword [esp + 8], 0
setne al
jmp dword [eax*4 + 0x4497e4]
mov edx, dword [esp + 8]
mov ecx, edx
not ecx
and ecx, edi
mov eax, edi
not eax
and eax, edx
sub eax, ecx
lea ebx, [eax + eax*2]
shr ebx, 2
movzx ecx, byte [edi + eax - 1]
cmp ecx, 0x3d
je 0x42393b
cmp ecx, 0x2e
jne 0x423942
mov ecx, ebx
not ecx
lea ebx, [ecx + ebx*2]
mov ecx, eax
xor ecx, 2
mov edx, eax
and edx, 0xfffffffd
add edx, edx
sub edx, ecx
cmp byte [edi + edx], 0x3d
je 0x42395d
cmp byte [edi + eax - 2], 0x2e
jne 0x42395e
dec ebx
mov dword [esp + 0x4c], ebx
lea eax, [ebx + 1]
push eax
call fcn.00408d90
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 8]
sub edx, edi
je 0x423a8d
xor ecx, ecx
mov eax, 2
mov dword [esp + 8], edx
jmp 0x4239a2
lea eax, [edi + 4]
add edi, 2
mov ecx, dword [esp + 0x10]
cmp edi, edx
jae 0x423a8d
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 4]
movzx eax, byte [edi + eax - 2]
push eax
call fcn.00419340
add esp, 4
mov bh, al
mov eax, dword [esp + 4]
movzx eax, byte [edi + eax - 1]
mov edi, dword [esp + 4]
push eax
call fcn.00419340
mov edx, dword [esp + 0xc]
add esp, 4
mov bl, al
shr al, 4
and al, 3
shl bh, 2
or bh, al
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx], bh
lea eax, [ecx + 1]
mov dword [esp + 0x10], eax
cmp edi, edx
jae 0x423990
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + edi]
push eax
call fcn.00419340
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x423990
mov ecx, dword [esp + 0xc]
add ecx, 2
mov dword [esp + 0x10], ecx
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov byte [ebx + edx + 1], cl
mov edx, dword [esp + 8]
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x423990
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov ebx, eax
call fcn.00419340
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x423990
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov dword [esp + 0x10], ebx
jmp 0x423990
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x14]
mov byte [ebx + eax], 0
push ebx
call fcn.00401f20
add esp, 4
mov edi, eax
jmp dword [0x4497ec]
push ebx
call fcn.00408da0
add esp, 4
mov dword [esp + 0xc], edi
push edi
call fcn.00402840
add esp, 4
xor edx, edx
test eax, eax
setne dl
lea ebx, [esp + 0x60]
mov ecx, dword [esp + 0x18]
jmp dword [edx*4 + 0x4497f4]
mov dword [esp + 0x18], ecx
push dword [esp + 0xc]
call fcn.00402ad0
add esp, 4
mov edx, dword [esp + 0x3c]
add edx, 4
xor eax, eax
cmp edx, dword [esp + 0x38]
setne al
jmp dword [eax*4 + 0x44979c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 0xc36a7e7b
lea eax, [esp + 0x24]
mov dword [eax + 3], 0
mov dword [eax], 0
mov eax, 0xab11bf61
nop
mov dword [esp + 4], eax
movzx edx, byte [esp + eax + 0x54ee40bf]
mov eax, dword [esp + 4]
xor eax, 0x194185b6
mov edi, dword [esp + 4]
or edi, 0xa2103a49
and edi, eax
lea eax, [edi + edi]
not eax
add eax, edi
mov ecx, eax
and ecx, edi
xor edi, eax
sub edi, eax
add edi, ecx
mov eax, dword [esp + 4]
and eax, 0x16
xor eax, 0x10400096
or eax, edi
xor eax, edx
xor eax, 0x194185b6
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x50]
lea edx, [edi + edi]
mov eax, edx
and eax, 0x5af8774e
neg eax
add eax, edi
add eax, 0xad7c3ba7
mov ebx, eax
not ebx
mov ecx, ebx
and ecx, 0xa5
and eax, 2
imul eax, ecx
and ebx, 2
or ecx, 2
imul ecx, ebx
and edx, 0xb0
sub edx, edi
add edx, eax
mov eax, dword [esp + 4]
add edx, ecx
add dl, 0x59
mov byte [esp + eax + 0x54ee40bf], dl
inc eax
cmp eax, 0xab11bf6c
jne 0x423b20
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x14]
call fcn.00402790
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4497fc]
lea ebx, [esp + 0x60]
lea edi, [esp + 0x61]
jmp dword [0x449814]
lea ebx, [esp + 0x60]
lea edi, [esp + 0x61]
jmp dword [0x449808]
jmp 0x423c2d
mov byte [esi], 0xa
inc esi
mov cl, 1
jmp dword [0x449820]
movzx eax, byte [esp + 0x60]
test al, al
je 0x423c00
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x423c20
jmp 0x423c00
movzx ecx, byte [eax]
test cl, cl
je 0x423c4b
lea edx, [eax + 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x423c40
mov byte [esi], 0x3a
inc esi
jmp dword [0x44980c]
mov byte [esi], 0x20
inc esi
jmp dword [0x449814]
movzx eax, byte [esp + 0x60]
test al, al
je 0x423c7b
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x423c70
mov byte [esi], 0xa
inc esi
jmp case.0x42390d.12
movzx ecx, byte [eax]
test cl, cl
je 0x423c9b
lea edx, [eax + 1]
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x423c90
mov byte [esi], 0x3a
inc esi
jmp 0x423c2d
xor edi, edi
test edx, edx
jne 0x423e15
jmp case.0x423661.0
mov byte [esi], 0
mov dword [esp + 0x60], 0xdfd2dd0d
mov dword [esp + 0x64], 0xd3e7e6d9
mov dword [esp + 0x68], 0x2c28d6dd
mov dword [esp + 0x6c], 0x1a2a0eeb
mov dword [esp + 0x70], 0x7e1201d
mov dword [esp + 0x74], 0x25132e23
mov dword [esp + 0x78], 0x233ee723
mov word [esp + 0x7c], 0xa93c
mov dword [esp + 0x7e], 0
mov word [esp + 0x82], 0
xor ecx, ecx
mov dword [esp + 0xc], 0x86434e89
nop
nop
mov dword [esp + 4], ecx
movzx edx, byte [esp + ecx + 0x60]
lea edi, [ecx + 0x79bcb176]
mov eax, edx
and eax, 2
mov ecx, edx
or ecx, 2
imul ecx, eax
xor eax, 2
mov ebx, edx
and ebx, 0xfffffffd
imul ebx, eax
add ecx, ebx
not ecx
add ecx, edx
and ecx, 0xb6ab7fbe
mov eax, edx
xor eax, 0x49548041
lea ebx, [eax + eax]
not ebx
add ebx, eax
or edx, 0x8041
and edx, ebx
or edx, ecx
mov eax, dword [esp + 0xc]
and eax, 0x86034ebe
and edi, 0x49148040
or edi, eax
mov ebx, dword [esp + 4]
and ebx, 1
or ebx, edi
mov eax, edx
and eax, ebx
lea edi, [edx + ebx]
add eax, eax
sub edi, eax
mov eax, edi
not eax
mov ecx, ebx
not ecx
mov dword [esp + 0x10], ecx
or edi, ecx
and eax, ebx
not edi
or edi, eax
mov ecx, edi
and ecx, 0xfffffffd
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
xor eax, 2
imul eax, ecx
add edi, eax
mov eax, edi
not eax
and eax, ebx
mov ecx, dword [esp + 4]
and edi, dword [esp + 0x10]
sub edx, edi
add edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
add al, 0xc6
mov byte [esp + ecx + 0x60], al
inc ecx
dec dword [esp + 0xc]
cmp ecx, 0x24
jne 0x423d10
mov edx, dword [esp + 0x34]
sub esi, edx
lea eax, [esp + 0x60]
mov ecx, dword [ebp + 8]
push esi
push edx
push eax
call fcn.00409950
jmp dword [0x44984c]
push dword [esp + 0x34]
mov esi, eax
call fcn.00408da0
mov eax, esi
add esp, 4
and al, 1
mov edi, eax
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
test edx, edx
je case.0x423661.0
cmp edx, esi
je case.0x423661.0
push edx
call fcn.00408da0
add esp, 4
lea ecx, [esp + 0x40]
mov ebx, edi
call fcn.0043c2f0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [case.0x424346.14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4498ec]
jmp dword [ecx*4 + 0x449854]
mov dword [esp + 0x14], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x28], 0x5b0859fc
mov dword [esp + 0x2c], 0x57095509
mov dword [esp + 0x30], 0x53015109
mov dword [esp + 0x34], 0xaffcad00
mov dword [esp + 0x38], 0xab0ea901
mov dword [esp + 0x3c], 0xa7e7a5f1
mov dword [esp + 0x40], 0xa3faa1e3
mov dword [esp + 0x44], 0xbfe8bde5
mov dword [esp + 0x48], 0xbb1eb9e5
mov dword [esp + 0x4c], 0xb7e1b5e7
mov dword [esp + 0x50], 0xb31eb1ee
mov dword [esp + 0x54], 0x8fcf8d23
mov dword [esp + 0x58], 0x8bd789da
mov dword [esp + 0x5c], 0x87288520
mov dword [esp + 0x60], 0x83368121
mov dword [esp + 0x64], 0x9f239d12
mov dword [esp + 0x68], 0x9bc9993c
mov dword [esp + 0x6c], 0x972b9518
mov dword [esp + 0x70], 0x93279131
mov word [esp + 0x74], 0xedec
lea eax, [esp + 0x76]
mov dword [eax + 3], 0
mov dword [eax], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x28]
mov esi, ecx
or esi, 0x59254af4
mov edi, ecx
xor edi, 0xa6dab50b
and edi, esi
mov ebx, edi
xor ebx, 0x8f4203b
and edi, 0x3b
add ebx, esi
lea esi, [ebx + edi*2]
mov edi, 0x8f4203a
sub edi, esi
add esi, 0xc5
xor esi, edi
and esi, edx
xor esi, edi
not esi
mov dword [esp + 0xac], esi
mov esi, dword [esp + 0xac]
mov edi, esi
and edi, 0x8ffaf351
lea ebx, [edi + 2]
mov edx, esi
and edx, 2
imul ebx, edx
xor edx, 2
imul edx, edi
add edx, ebx
mov edi, esi
xor edi, 0x8ffaf353
and edi, edx
mov ebx, edi
or ebx, 2
mov eax, edi
and eax, 2
imul ebx, eax
xor eax, 2
and edi, 0xfc
imul edi, eax
xor edx, esi
xor edx, 0x53
add edx, ebx
add edx, edi
inc dl
mov byte [esp + ecx + 0x28], dl
inc ecx
cmp ecx, 0x55
jne case.default.0x424021
lea eax, [esp + 0xec]
lea ecx, [esp + 0x28]
push 0
push 0
push dword [esp + 0x1c]
push eax
push ecx
call fcn.00441360
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44986c]
lea ecx, [esp + 0x80]
lea eax, [esp + 0x18]
push ecx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x10c]
call fcn.00441a00
add esp, 0x24
not eax
shr eax, 0x1f
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x449874]
mov ecx, dword [esp + 0x80]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x424076
mov eax, 0xffffffff
push eax
call fcn.00408d90
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x28], 0xd346d11d
mov dword [esp + 0x2c], 0xdf40dd4f
mov dword [esp + 0x30], 0xdb4cd97d
mov dword [esp + 0x34], 0xc774c54e
mov dword [esp + 0x38], 0xc35cc165
mov dword [esp + 0x3c], 0xcfcccd6a
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x28]
mov esi, eax
xor esi, 0xb67ddfdd
mov edi, eax
xor edi, 0x367ddfdd
mov ecx, eax
or ecx, 2
and ecx, edi
add ecx, ecx
sub ecx, esi
mov ebx, edx
not ebx
lea edi, [ecx + ecx]
not edi
add edi, ecx
mov esi, ecx
and esi, 0x8802045
and edi, 0x513211ba
or edi, esi
lea esi, [edx*2 + 1]
lea ebx, [ebx + edx*2]
inc ebx
xor edi, ecx
xor edi, 0x513211ba
add edi, ecx
or ecx, edx
sub edx, esi
and edx, 0x6b44c657
and ebx, 0x94bb39a8
or ebx, edx
mov edx, ebx
xor edx, 0x6b44c657
xor ebx, 0x61a3851d
or edx, edi
xor edi, 0xae7434a
mov esi, ebx
and esi, edi
add edi, ebx
add esi, esi
sub edi, esi
lea esi, [edx + edx]
not esi
add esi, edx
and edx, edi
xor esi, edi
add esi, edi
sub esi, edx
and ecx, esi
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xac]
mov edx, ecx
and edx, 0xa
xor ecx, 0xa
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax + 0x28], cl
inc eax
cmp eax, 0x20
jne case.default.0x4241b2
lea eax, [esp + 0x80]
push eax
mov ebx, dword [esp + 8]
push ebx
push 0
lea ecx, [esp + 0x34]
push ecx
push dword [esp + 0xfc]
call fcn.00442340
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44988c]
jmp dword [0x449894]
push ebx
call fcn.00408da0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
xor ebx, ebx
jmp dword [0x4498a8]
mov eax, dword [esp + 0xec]
mov dword [esp + 0x28], 0x92919097
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov ecx, 0x900a7fc3
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x6ff58065]
xor edx, ecx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58065], dl
movzx edx, byte [esp + ecx + 0x6ff58066]
lea esi, [ecx + 1]
xor esi, edx
mov dword [esp + 0xac], esi
mov edx, dword [esp + 0xac]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58066], dl
add ecx, 2
cmp ecx, 0x900a7fcf
jne 0x424200
mov ecx, dword [0x44d514]
test ecx, ecx
je case.default.0x424346
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44d518]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xa3c1f363
je 0x4242b8
inc esi
cmp ecx, esi
jne 0x424290
jmp case.default.0x424346
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
mov ebx, dword [esp + 4]
jmp dword [ecx*4 + 0x4498dc]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x424328
xor ecx, ecx
test ebx, ebx
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x4498ac]
lea esi, [esp + 0x28]
jmp dword [0x4498b8]
push esi
call fcn.00440430
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00440430
add esp, 4
jmp dword [0x4498c0]
movzx eax, al
jmp dword [eax*4 + 0x4498c4]
xor eax, eax
cmp dword [esp + 0x28], 1
sete al
jmp dword [eax*4 + 0x4498cc]
xor eax, eax
mov ecx, 1
jmp dword [ecx*4 + 0x4498d4]
push eax
push 1
push dword [0x44d51c]
push ecx
call fcn.0043d9a0
add esp, 0x10
xor ecx, ecx
test ebx, ebx
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x4498ac]
mov eax, 2
xor ecx, ecx
jmp dword [ecx*4 + 0x4498d4]
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x4498dc]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x4498dc]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4498e4]
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x449904]
mov dword [esp + 4], eax
jmp dword [0x449920]
jmp dword [0x449918]
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.004274f0
push esi
call fcn.00408da0
add esp, 4
jmp dword [0x44998c]
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x449aac]
jmp dword [0x449ac4]
jmp dword [0x449ad0]
jmp eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4499ec]
jmp dword [0x449a0c]
xor esi, esi
cmp dword [edi + 0x18], 3
jne 0x424410
mov esi, dword [edi + 0x10]
jmp 0x424410
mov ecx, dword [edi]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x449a14]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x449a1c]
jmp dword [0x449a74]
mov edi, dword [edi + 4]
nop
nop
nop
nop
nop
nop
mov edi, dword [edi + 4]
jmp dword [0x449a80]
mov eax, dword [case.0x424cdf.4]
jmp case.0x424cdf.1
mov dword [esp + 0x88], ecx
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x4244ac
mov dword [esp + 0x94], edi
mov dword [esp + 0x14], ebx
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [esp + 0x8c], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408d90
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x90], eax
jmp dword [edx*4 + 0x449a24]
inc esi
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x449a24]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x4244e2
mov edx, 0xffffffff
or ecx, 0x20
lea ebx, [ecx - 0x61]
cmp ebx, 6
jae case.default.0x4244fd
add ecx, 0xffffffa9
mov edx, ecx
movsx ecx, byte [esi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x449a2c]
lea ebx, [ecx - 0x30]
cmp ebx, 0xa
jb 0x424511
mov ebx, 0xffffffff
or ecx, 0x20
lea edi, [ecx - 0x61]
cmp edi, 6
jae case.default.0x424536
add ecx, 0xffffffa9
mov ebx, ecx
shl edx, 4
or edx, ebx
add esi, 2
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x449a24]
mov byte [eax], 0
mov dword [esp + 4], 0
push 0
push 0x10
push 0
push dword [esp + 0x94]
call fcn.00427590
add esp, 0x10
xor ebx, ebx
mov edi, dword [esp + 0x24]
cmp edi, dword [esp + 0xc]
setne bl
jmp dword [ebx*4 + 0x449a34]
mov ecx, dword [edi]
mov dword [esp + 4], ecx
xor ecx, ecx
jmp dword [ecx*4 + 0x449a44]
add edi, 8
xor ebx, ebx
cmp edi, dword [esp + 0xc]
setne bl
jmp dword [ebx*4 + 0x449a34]
mov ebx, dword [edi + 4]
mov esi, ebx
shr esi, 0x1c
shl ebx, 4
or ebx, 1
xor esi, edx
xor ebx, eax
xor ecx, ecx
or ebx, esi
sete cl
jmp dword [ecx*4 + 0x449a3c]
mov ecx, 1
jmp dword [ecx*4 + 0x449a44]
mov eax, dword [case.0x424cdf.31]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x94]
nop
nop
jmp eax
xor eax, eax
mov esi, dword [esp + 4]
test esi, esi
setne al
mov ecx, dword [esp + 0x8c]
jmp dword [eax*4 + 0x449a5c]
jmp dword [0x449a6c]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42467e
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
push 0x3234ab19
push dword [0x44d520]
call fcn.0043f840
add esp, 8
lea ecx, [esp + 0x80]
push ecx
push 1
push 0
push 0
lea ecx, [esp + 0x28]
push ecx
push 0
lea ecx, [esp + 0x40]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449a64]
jmp dword [0x449a6c]
movzx eax, byte [esi]
test al, al
je 0x4246ab
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x4246a0
mov word [ebx], 0x203a
mov eax, ebx
add eax, 2
mov edi, dword [esp + 0x80]
test edi, edi
je 0x4246eb
mov ecx, dword [esp + 0x84]
mov esi, edi
and esi, 3
je 0x4246ef
xor ebx, ebx
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + ebx], dl
inc ebx
cmp esi, ebx
jne 0x4246d0
add eax, ebx
mov edx, edi
sub edx, ebx
mov ebx, eax
jmp 0x4246f1
mov ebx, eax
jmp 0x424731
mov edx, edi
cmp edi, 4
jb 0x424731
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov ebx, esi
mov eax, esi
add edx, 0xfffffffc
jne 0x4246f6
mov byte [ebx], 0xa
inc ebx
push 0xaa39f1ac
push dword [0x44d508]
call fcn.0043f840
add esp, 8
push dword [esp + 0x84]
call eax
mov al, 1
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x94]
jmp dword [0x449a6c]
push dword [esp + 0x90]
call fcn.00408da0
add esp, 4
jmp dword [0x449a74]
jmp dword [0x449a00]
mov dword [esp + 0x24], ebx
jmp dword [0x4499a4]
push dword [esp + 0x94]
call fcn.00408da0
add esp, 4
xor eax, eax
mov edi, dword [esp + 0xc]
cmp ebx, edi
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x4499ac]
xor eax, eax
mov edi, dword [esp + 0xc]
cmp ebx, edi
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x4499ac]
mov eax, edi
sub eax, dword [esp + 0x24]
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408d90
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x28], 0x834e81a5
mov dword [esp + 0x2c], 0x8765856b
mov dword [esp + 0x30], 0x8b668969
mov dword [esp + 0x34], 0x8f7e8d4d
mov dword [esp + 0x38], 0x93569160
mov dword [esp + 0x3c], 0x97629575
mov dword [esp + 0x40], 0x9bbf9979
mov dword [esp + 0x44], 0x9f4d9d40
mov dword [esp + 0x48], 0xa347a154
mov dword [esp + 0x4c], 0xa74ba545
mov dword [esp + 0x50], 0xab46a974
mov dword [esp + 0x54], 0xaf4dad43
mov dword [esp + 0x58], 0xb35eb151
mov dword [esp + 0x5c], 0xb740b59a
mov dword [esp + 0x60], 0xbb5cb95c
lea eax, [esp + 0x64]
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], 0xbdbc
mov byte [esp + 0x68], 0
xor edi, edi
mov ebx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x14], ebx
mov dword [esp + 4], edi
movzx ecx, byte [esp + edi + 0x28]
mov edi, dword [esp + 4]
xor edi, 0x9b1257c0
mov esi, dword [esp + 4]
xor esi, 0x64eda83f
mov eax, dword [esp + 4]
or eax, 0x40
and eax, esi
mov esi, dword [esp + 4]
and esi, 0x3f
mov ebx, dword [esp + 0x14]
sub ebx, edi
mov edx, dword [esp + 4]
add edi, edx
and ebx, esi
not esi
and esi, edi
sub esi, ebx
mov edi, eax
xor edi, 0x410be63d
and eax, 0x42
add eax, eax
sub eax, edi
lea ebx, [eax + esi]
add eax, esi
add eax, 0x410be63d
mov dword [esp + 0x10], eax
mov edi, ecx
not edi
mov eax, edi
and eax, 0xcab6e911
mov esi, ecx
and esi, 0xffffffee
or esi, eax
and edi, 2
mov eax, ecx
and eax, 0xfffffffd
imul eax, edi
mov edi, ecx
and edi, 2
mov edx, ecx
or edx, 2
imul edx, edi
add edx, eax
mov edi, ecx
sub edi, edx
neg edx
lea eax, [ecx + edx]
dec eax
add ecx, ecx
not ecx
xor esi, 0xcab6e911
add esi, ecx
mov ecx, 0x40000000
sub ecx, edi
and ecx, 0x2e734e09
and eax, 0xd18cb1f6
or eax, ecx
mov edx, 0xbef419c2
sub edx, ebx
mov ecx, dword [esp + 0x10]
and ecx, 0x6624a0ea
xor eax, 0xd18cb1f6
or eax, edx
and edx, 0x19db5f15
or edx, ecx
add edx, edx
xor edx, 0x33b6be2b
lea ecx, [ebx*2 - 0x7de83386]
sub ecx, ebx
sub edx, ebx
add ecx, 0xbef419c3
add edx, 0xbef419c2
or edx, ecx
lea ecx, [edx + edx]
not ecx
add ecx, edx
lea edx, [edx + ecx*2]
inc edx
lea ecx, [esi + esi]
not ecx
add ecx, esi
and esi, 0x502b0810
mov ebx, ecx
and ebx, 0xafd4f7ef
or ebx, esi
xor ebx, 0xafd4f7ef
or ebx, edx
not edx
and edx, ecx
lea ecx, [edx + edx]
not ecx
add ecx, edx
mov esi, ebx
or esi, ecx
and ecx, 0x521c834e
and edx, 0xade37cb1
or edx, ecx
mov ecx, eax
and ecx, edi
xor eax, edi
mov edi, dword [esp + 4]
lea eax, [eax + ecx*2]
xor edx, ebx
mov ebx, dword [esp + 0x14]
xor edx, 0x521c834e
not eax
and eax, esi
and eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
lea edx, [eax + eax]
not edx
add edx, eax
mov ecx, eax
not ecx
and edx, ecx
and eax, 0xbf
and edx, 0x40
sub eax, edx
mov byte [esp + edi + 0x28], al
inc edi
dec ebx
cmp edi, 0x41
jne 0x424880
lea edx, [esp + 0xac]
lea eax, [esp + 0x28]
mov edi, edx
mov ecx, 0xf
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xe8]
mov ecx, 1
mov eax, dword [esp + 0x20]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0xa8]
push edi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x44d510]
mov ebx, dword [esp + 0xa8]
test ebx, ebx
jns 0x424a61
mov eax, 0xffffffff
jmp 0x424a64
lea eax, [ebx + ebx]
push eax
call fcn.00408d90
add esp, 4
mov esi, eax
push edi
push ebx
push eax
push 0x1e
lea eax, [esp + 0xbc]
push eax
push 0
call dword [0x44d510]
lea eax, [esp + 0x98]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x30], esi
push esi
call fcn.004406e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4499b4]
xor ebx, ebx
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp dword [0x449aa4]
lea eax, [esp + 0xa0]
push 0
push eax
push dword [esp + 0xa0]
call fcn.00440bc0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 8]
jmp dword [eax*4 + 0x4499bc]
mov esi, dword [esp + 0xa0]
lea eax, [esi + 1]
push eax
call fcn.00408d90
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0xa4]
call fcn.00440d50
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 8]
jmp dword [eax*4 + 0x4499c4]
mov edi, esi
mov esi, dword [esp + 0xa0]
mov byte [edi + esi], 0
push 0x20
call fcn.00408d90
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x9c], eax
mov ecx, eax
push esi
mov dword [esp + 0xa8], edi
push edi
call fcn.004271a0
movzx eax, al
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 8]
jmp dword [eax*4 + 0x4499cc]
mov dword [esp + 0x28], 0x5f4e5473
mov dword [esp + 0x2c], 0x445e4e53
mov dword [esp + 0x30], 0x5f4b771f
mov dword [esp + 0x34], 0x62015a48
mov dword [esp + 0x38], 0x48535e42
mov dword [esp + 0x3c], 0x4d497c0b
mov dword [esp + 0x40], 0x3759564c
mov dword [esp + 0x44], 0x2f252607
mov word [esp + 0x48], 0x452d
mov dword [esp + 0x4a], 0
mov dword [esp + 0x4e], 0
mov byte [esp + 0x52], 0
mov eax, 0xa4
mov ecx, 0xdd1bf5a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax - 0xdd1bfff]
mov esi, edx
and esi, 0xf22e40fd
lea edi, [ecx - 0xdd1bf58]
and edi, 2
imul edi, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
movzx esi, byte [esp + eax - 0x7c]
add edx, edi
lea edi, [ecx - 0xdd1beff]
and edi, edx
not edx
and edx, eax
sub edx, edi
mov edi, esi
not edi
or edx, edi
mov edi, ecx
or edi, esi
add edx, esi
mov esi, 0xfffffffe
sub esi, edx
and esi, edi
not esi
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0x18]
add edx, 0x3bc4a496
mov esi, edx
xor esi, 0x5b54b6d2
and edx, 0x24ab492d
add edx, edx
sub edx, esi
lea esi, [edx*2 - 0x7789492c]
add edx, 0xc43b5b6a
and esi, 0xc17876f8
mov edi, edx
xor edi, esi
xor edx, 0x7c
and edx, esi
xor edi, 0x83
add edx, edx
sub edx, edi
add dl, 0xd2
mov byte [esp + eax - 0x7c], dl
inc eax
dec ecx
cmp eax, 0xcf
jne case.default.0x424cdf
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x28]
push eax
call fcn.00427390
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 8]
jmp dword [ecx*4 + 0x4499d4]
mov esi, dword [esp + 0xa4]
jmp dword [0x449a84]
mov edi, dword [esp + 0x9c]
mov ecx, edi
call fcn.004274f0
push edi
call fcn.00408da0
add esp, 4
jmp dword [0x449a8c]
jmp dword [0x449a8c]
jmp dword [0x449a94]
push esi
call fcn.00408da0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408da0
add esp, 4
jmp dword [0x449aa0]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x28], 0x92919097
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov ecx, 0x900a7fc3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x6ff58065]
xor edx, ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58065], dl
movzx edx, byte [esp + ecx + 0x6ff58066]
lea esi, [ecx + 1]
xor esi, edx
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0x18]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58066], dl
add ecx, 2
cmp ecx, 0x900a7fcf
jne 0x424d70
mov ecx, dword [0x44d514]
test ecx, ecx
je 0x424e0c
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44d518]
nop
nop
cmp dword [edi + esi*8], 0xa3c1f363
je 0x424e00
inc esi
cmp ecx, esi
jne 0x424df0
jmp 0x424e0c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4250c9
mov esi, ebx
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
jmp dword [0x449aa4]
push dword [esp + 0x20]
call fcn.00408da0
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x449aac]
mov byte [esi], 0
sub esi, dword [esp + 8]
mov dword [esp + 0x14], esi
jmp dword [0x449ab8]
mov dword [esp + 0x28], 0x17242511
mov dword [esp + 0x2c], 0x1b0f0c15
mov dword [esp + 0x30], 0x161e1c11
mov dword [esp + 0x34], 0x1c1434d3
mov dword [esp + 0x38], 0x2fd51601
mov dword [esp + 0x3c], 0xd03040b
mov dword [esp + 0x40], 0x7b08cf0b
mov word [esp + 0x44], 0xf106
mov dword [esp + 0x46], 0
mov eax, 0xfba34c03
mov ebx, 0x3462f862
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x45cb425]
lea ecx, [eax - 0x30064466]
mov dword [esp + 4], ecx
mov edi, ebx
or ebx, edx
lea esi, [edi - 0x3462f800]
and esi, edx
not ebx
or ebx, esi
lea esi, [ebx + ebx]
not esi
add esi, ebx
mov ebx, esi
xor ebx, ecx
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
mov ebx, edi
or esi, dword [esp + 4]
and esi, ecx
mov ecx, esi
or ecx, 0xfffffffd
inc ecx
mov edi, esi
and edi, 0xfffffffd
imul edi, ecx
mov ecx, esi
and ecx, 2
or esi, 2
imul esi, ecx
mov ecx, edx
xor ecx, 0xcff9bb9a
and edx, 0xffffff9a
lea ecx, [ecx + edx*2]
add ecx, edi
sub ecx, esi
add ecx, eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov ecx, edx
not ecx
and ecx, 0x4b
and edx, 0xb4
sub edx, ecx
mov byte [esp + eax + 0x45cb425], dl
inc eax
dec ebx
cmp eax, 0xfba34c25
jne 0x424ea0
mov ecx, dword [ebp + 8]
push dword [esp + 0x14]
push dword [esp + 0xc]
lea eax, [esp + 0x30]
push eax
call fcn.00409950
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x28], 0x17242511
mov dword [esp + 0x2c], 0x1b0f0c15
mov dword [esp + 0x30], 0x161e1c11
mov dword [esp + 0x34], 0x1c1434d3
mov dword [esp + 0x38], 0x2fd51601
mov dword [esp + 0x3c], 0xd03040b
mov dword [esp + 0x40], 0x7b08cf0b
mov word [esp + 0x44], 0xf106
mov dword [esp + 0x46], 0
mov eax, 0xfba34c03
mov ebx, 0x3462f862
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x45cb425]
lea ecx, [eax - 0x30064466]
mov dword [esp + 4], ecx
mov edi, ebx
or ebx, edx
lea esi, [edi - 0x3462f800]
and esi, edx
not ebx
or ebx, esi
lea esi, [ebx + ebx]
not esi
add esi, ebx
mov ebx, esi
xor ebx, ecx
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
mov ebx, edi
or esi, dword [esp + 4]
and esi, ecx
mov ecx, esi
or ecx, 0xfffffffd
inc ecx
mov edi, esi
and edi, 0xfffffffd
imul edi, ecx
mov ecx, esi
and ecx, 2
or esi, 2
imul esi, ecx
mov ecx, edx
xor ecx, 0xcff9bb9a
and edx, 0xffffff9a
lea ecx, [ecx + edx*2]
add ecx, edi
sub ecx, esi
add ecx, eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov ecx, edx
not ecx
and ecx, 0x4b
and edx, 0xb4
sub edx, ecx
mov byte [esp + eax + 0x45cb425], dl
inc eax
dec ebx
cmp eax, 0xfba34c25
jne 0x424fb0
mov ecx, dword [ebp + 8]
push dword [esp + 0x14]
push dword [esp + 0xc]
lea eax, [esp + 0x30]
push eax
call fcn.00409950
jmp dword [0x449abc]
mov edi, dword [esp + 0xc]
jmp dword [0x449ac4]
push dword [esp + 8]
mov esi, eax
call fcn.00408da0
mov eax, esi
add esp, 4
jmp dword [0x449ad0]
nop
mov ebx, eax
and bl, 1
jmp dword [0x449ad4]
mov esi, dword [esp + 0x24]
test esi, esi
je 0x4243b8
cmp esi, edi
jne 0x4250a7
jmp 0x4243b8
add esi, 8
cmp esi, edi
je 0x4250b8
mov eax, dword [esi]
test eax, eax
je 0x4250a0
push eax
call fcn.00408da0
add esp, 4
jmp 0x4250a0
push dword [esp + 0x24]
call fcn.00408da0
add esp, 4
jmp 0x4243b8
mov esi, ebx
push eax
push 1
push dword [0x44d51c]
push ecx
call fcn.0043d9a0
add esp, 0x10
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
jmp dword [0x449aa4]
mov edi, dword [eax + 8]
mov eax, dword [case.0x424cdf.4]
mov ebx, dword [esp + 8]
mov dword [esp + 0x10], 0
jmp case.0x424cdf.1
mov dword [esp + 0x28], 0xbbddb9ea
mov dword [esp + 0x2c], 0xbfd2bdcb
mov dword [esp + 0x30], 0xc3abc1d8
mov dword [esp + 0x34], 0xc798c5ab
mov dword [esp + 0x38], 0xcbb9c9a3
mov dword [esp + 0x3c], 0xcfaacda4
mov dword [esp + 0x40], 0xd3b9d1a5
mov dword [esp + 0x44], 0xd7a2d5fc
mov dword [esp + 0x48], 0xdbbed9b2
lea eax, [esp + 0x4c]
mov word [esp + 0x4c], 0xddda
mov dword [esp + 0x52], 0
mov dword [esp + 0x4e], 0
mov ecx, 0xc7fd36b7
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x3802c971]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
dec dl
mov byte [esp + ecx + 0x3802c971], dl
movzx edx, byte [esp + ecx + 0x3802c972]
lea esi, [ecx + 1]
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
inc edx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
dec dl
mov byte [esp + ecx + 0x3802c972], dl
add ecx, 2
cmp ecx, 0xc7fd36e5
jne 0x425170
lea edi, [esp + 0xec]
lea edx, [esp + 0x28]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x110]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x425200
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x425218
mov ecx, 0xffffffff
push ecx
call fcn.00408d90
add esp, 4
mov esi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x425241
lea edx, [ebx + 2]
mov eax, esi
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425230
mov word [eax], 0
movzx ecx, word [esp + 0xec]
test cx, cx
je 0x425271
lea edx, [esp + 0xee]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425260
mov word [eax], 0
jmp dword [0x449928]
mov dword [esp + 0x28], 0xbbddb9ea
mov dword [esp + 0x2c], 0xbfd2bdcb
mov dword [esp + 0x30], 0xc3abc1d8
mov dword [esp + 0x34], 0xc798c5ab
mov dword [esp + 0x38], 0xcbb9c9a3
mov dword [esp + 0x3c], 0xcfaacda4
mov dword [esp + 0x40], 0xd3b9d1a5
mov dword [esp + 0x44], 0xd7a2d5fc
mov dword [esp + 0x48], 0xdbbed9b2
lea eax, [esp + 0x4c]
mov word [esp + 0x4c], 0xddda
mov dword [esp + 0x52], 0
mov dword [esp + 0x4e], 0
mov ecx, 0xc7fd36b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x3802c971]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
dec dl
mov byte [esp + ecx + 0x3802c971], dl
movzx edx, byte [esp + ecx + 0x3802c972]
lea esi, [ecx + 1]
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
inc edx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
dec dl
mov byte [esp + ecx + 0x3802c972], dl
add ecx, 2
cmp ecx, 0xc7fd36e5
jne 0x4252f0
lea edi, [esp + 0xec]
lea edx, [esp + 0x28]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x110]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x425380
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x425398
mov ecx, 0xffffffff
push ecx
call fcn.00408d90
add esp, 4
movzx ecx, word [ebx]
test cx, cx
je 0x4253c1
lea edx, [ebx + 2]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4253b0
mov word [eax], 0
movzx ecx, word [esp + 0xec]
test cx, cx
je 0x4253f1
lea edx, [esp + 0xee]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4253e0
mov word [eax], 0
jmp case.0x424346.29
mov eax, dword [esp + 4]
jmp dword [eax*4 + 0x44992c]
push ebx
call fcn.00408da0
add esp, 4
lea eax, [esp + 0x18]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xa4], esi
push esi
call fcn.004406e0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
xor ebx, ebx
jmp dword [eax*4 + 0x449934]
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x20]
call fcn.00440bc0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x44993c]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.00408d90
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x24]
call fcn.00440d50
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x449944]
mov edi, dword [esp + 0x8c]
jmp dword [0x44994c]
mov esi, dword [esp + 0x80]
mov byte [edi + esi], 0
push 0x20
call fcn.00408d90
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.004271a0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x80]
mov byte [edi + esi], 0
push 0x20
call fcn.00408d90
add esp, 4
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.004271a0
jmp dword [0x449958]
mov dword [esp + 0x88], ebx
movzx eax, al
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x44995c]
mov dword [esp + 0x28], 0x8f7e806b
mov dword [esp + 0x2c], 0x708e7e8b
mov dword [esp + 0x30], 0x8f7b674f
mov dword [esp + 0x34], 0x7a556a84
mov dword [esp + 0x38], 0x94636e9a
mov dword [esp + 0x3c], 0x62614e53
mov dword [esp + 0x40], 0x979e969f
mov dword [esp + 0x44], 0x3597
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
xor esi, 0xb67df5fd
mov edx, eax
and edx, 4
mov edi, edx
sub edi, esi
movzx esi, byte [esp + ecx + 0x28]
xor edi, esi
mov dword [esp + 0xac], edi
mov ebx, dword [esp + 0xac]
add bl, 0xeb
mov byte [esp + ecx + 0x28], bl
mov esi, ecx
xor esi, 0xb67df5fc
sub edx, esi
movzx esi, byte [esp + ecx + 0x29]
xor edx, esi
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
add dl, 0xeb
mov byte [esp + ecx + 0x29], dl
add ecx, 2
add eax, 4
cmp ecx, 0x20
jne case.default.0x42562a
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0x28]
push eax
call fcn.00427390
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
xor ebx, ebx
jmp dword [ecx*4 + 0x449964]
mov eax, dword [case.0x424346.44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x449984]
jmp dword [0x44998c]
mov dword [esp + 0xc], edi
push dword [esp + 0x8c]
call fcn.00408da0
add esp, 4
jmp dword [0x449998]
mov dword [esp + 0xc], edi
jmp dword [0x449998]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], 0x92919097
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov ecx, 0x900a7fc3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x6ff58065]
xor edx, ecx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58065], dl
movzx edx, byte [esp + ecx + 0x6ff58066]
lea esi, [ecx + 1]
xor esi, edx
mov dword [esp + 0xac], esi
mov edx, dword [esp + 0xac]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58066], dl
add ecx, 2
cmp ecx, 0x900a7fcf
jne 0x4256a0
mov ecx, dword [0x44d514]
test ecx, ecx
je case.0x42562a.11
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44d518]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xa3c1f363
je 0x425740
inc esi
cmp ecx, esi
jne 0x425730
jmp case.0x42562a.11
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42562a.11
push eax
push 1
push dword [0x44d51c]
push ecx
call fcn.0043d9a0
add esp, 0x10
jmp case.0x42562a.11
jmp dword [0x44999c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], 0x92919097
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov ecx, 0x900a7fc3
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x6ff58065]
xor edx, ecx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xac]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58065], dl
movzx edx, byte [esp + ecx + 0x6ff58066]
lea esi, [ecx + 1]
xor esi, edx
mov dword [esp + 0xac], esi
mov edx, dword [esp + 0xac]
add edx, 0x5bbc9ad3
mov esi, edx
and esi, 0x58
xor edx, 0xd8
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x6ff58066], dl
add ecx, 2
cmp ecx, 0x900a7fcf
jne 0x425790
mov ecx, dword [0x44d514]
test ecx, ecx
je 0x425760
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44d518]
nop
nop
cmp dword [edi + esi*8], 0xa3c1f363
je 0x425840
inc esi
cmp ecx, esi
jne 0x425820
jmp 0x425760
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x425760
push eax
push 1
push dword [0x44d51c]
push ecx
call fcn.0043d9a0
add esp, 0x10
jmp dword [0x44999c]
add eax, 8
xor edx, edx
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor edi, edi
xor esi, esi
xor ebx, ebx
jmp dword [eax*4 + 0x44996c]
not eax
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov dword [ebx + esi + 4], eax
add edi, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, ebx
jmp dword [eax*4 + 0x44996c]
mov dword [esp + 0x20], ecx
mov eax, dword [ecx]
mov dword [esp + 4], eax
mov ecx, edi
sub ecx, esi
cmp edi, edx
mov dword [esp + 0x10], ecx
je 0x4258c7
mov ebx, esi
jmp 0x425946
mov dword [esp + 8], edx
mov eax, edx
sub eax, esi
sar eax, 3
mov edi, eax
shr edi, 1
add edi, eax
mov eax, ecx
sar eax, 3
inc eax
cmp edi, eax
ja 0x4258e4
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.00408d90
add esp, 4
mov ebx, eax
test esi, esi
je 0x42593b
mov edx, dword [esp + 8]
cmp esi, edx
je 0x425932
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x425910
push esi
call fcn.00408da0
add esp, 4
lea edx, [ebx + edi*8]
mov edi, ebx
mov ecx, dword [esp + 0x10]
add edi, ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [ebx + ecx], 0
mov dword [esp + 0x24], ebx
mov dword [ebx + ecx + 4], 0
mov ebx, 0xffffffff
xor eax, eax
mov edi, dword [esp + 4]
nop
nop
nop
nop
mov esi, eax
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x425970
lea eax, [ebx + 1]
mov dword [esp + 0x14], eax
push eax
call fcn.00408d90
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov dword [eax + ecx], edx
mov eax, edx
mov ecx, dword [esp + 0x14]
shr ecx, 2
mov edx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x14]
mov edx, ecx
and edx, 0xfffffffc
mov edi, eax
add edi, edx
add edx, dword [esp + 4]
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x90], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x4259f5
mov ecx, dword [esp + 0x14]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x90]
mov byte [edx + ecx], al
test ebx, ebx
je 0x425a9d
cmp ebx, 1
jne 0x425a01
mov eax, 0xffffffff
jmp 0x425a61
and esi, 0xfffffffe
mov eax, 0xffffffff
mov edx, dword [esp + 4]
nop
nop
nop
mov dword [esp + 4], edx
mov ecx, eax
shr ecx, 8
movzx edx, byte [edx]
mov edi, eax
and edi, edx
add eax, edx
add edi, edi
sub eax, edi
movzx eax, al
xor ecx, dword [eax*4 + 0x4447c8]
mov eax, ecx
mov edx, dword [esp + 4]
movzx edx, byte [edx + 1]
mov edi, ecx
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov edx, dword [esp + 4]
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4447c8]
add edx, 2
add esi, 0xfffffffe
jne 0x425a10
mov dword [esp + 4], edx
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
test bl, 1
je 0x425880
mov ecx, eax
shr ecx, 8
mov edx, dword [esp + 4]
movzx edx, byte [edx]
mov esi, eax
and esi, edx
add eax, edx
add esi, esi
sub eax, esi
movzx eax, al
xor ecx, dword [eax*4 + 0x4447c8]
mov eax, ecx
mov ecx, dword [esp + 0x20]
jmp 0x425880
xor eax, eax
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
jmp 0x425886
jmp dword [0x449bd4]
jmp dword [0x449be0]
mov ecx, dword [esp + 0x70]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
mov esi, dword [esp + 0x50]
jmp dword [eax*4 + 0x449adc]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + ecx + 0xd8]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x425f50
mov dword [esp + 0x68], eax
mov dword [esp], ecx
mov dword [esp + 0x10], 0xfb44f92a
mov dword [esp + 0x14], 0xff59fd6b
mov dword [esp + 0x18], 0xf36cf15d
mov dword [esp + 0x1c], 0xf741f592
mov dword [esp + 0x20], 0xeb4be962
mov dword [esp + 0x24], 0xef4bed7e
mov word [esp + 0x28], 0xe1ee
lea eax, [esp + 0x10]
mov word [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x10]
mov edx, eax
and edx, 0x1d
mov esi, eax
and esi, 2
mov edi, eax
or edi, 2
imul edi, esi
xor esi, 2
imul esi, edx
mov edx, eax
xor edx, 0xa5144836
lea ebx, [edx + edx]
and ebx, 0x48280012
add edx, edi
sub edx, ebx
lea ebx, [edx + esi]
lea edi, [edx + esi]
add edi, 0x2c558109
mov edx, ecx
not edx
and edx, edi
lea esi, [ebx*2 + 0x58ab0212]
not esi
add esi, ebx
add esi, 0x2c558109
and edi, 0xd929c25c
mov ebx, esi
and ebx, 0x5029a3
or ebx, edi
xor ebx, ecx
or esi, ecx
xor ebx, 0x5029a3
and esi, ebx
or esi, edx
mov dword [esp + 0x84], esi
mov ecx, dword [esp + 0x84]
add cl, 0x47
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x20
jne 0x425fb0
mov edx, dword [esp + 0x68]
sar edx, 1
lea edi, [esp + 0xe4]
lea eax, [esp + 0x10]
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x28]
lea edi, [esp + 0xfc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x6c]
inc eax
mov ecx, eax
and ecx, edx
mov dword [esp + 0x4c], edx
xor eax, edx
lea ecx, [eax + ecx*2]
add ecx, 0xd
and eax, 1
and ecx, 0xfffffffe
sub ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x42609a
mov eax, 0xffffffff
push eax
call fcn.00408d90
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
mov ebx, dword [esp]
je 0x4260d1
mov edx, dword [esp + 0x74]
mov eax, esi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4260c0
mov dword [esp + 0x7c], esi
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [ebx]
test cx, cx
lea edi, [esp + 0xe6]
je 0x426101
lea edx, [ebx + 2]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4260f0
mov word [eax], 0
jmp dword [0x449ae8]
movzx ecx, word [esp + 0xe4]
mov edx, eax
test cx, cx
je 0x426131
mov esi, edi
mov edx, eax
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x426120
mov word [edx], 0
jmp case.0x424cdf.68
mov word [edx], 0
jmp dword [0x449aec]
movzx ecx, word [esp + 0xe4]
mov edx, eax
test cx, cx
je 0x426140
mov esi, edi
mov edx, eax
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x426160
jmp 0x426140
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x8c]
call fcn.004406e0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x449af4]
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x80]
call fcn.00440bc0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x449afc]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.00408d90
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x84]
call fcn.00440d50
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x449b04]
mov eax, dword [esp + 0x80]
mov byte [edi + eax], 0
push edi
call fcn.00401f20
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
jmp dword [ecx*4 + 0x449b0c]
jmp dword [0x449b3c]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], eax
push eax
call fcn.00402840
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], 0x9e998c97
mov dword [esp + 0x14], 0x8b8cf688
mov dword [esp + 0x18], 0x968e9640
mov dword [esp + 0x1c], 0x8384fe80
mov dword [esp + 0x20], 0xf6e9ed91
mov word [esp + 0x24], 0x86ed
mov byte [esp + 0x26], 0xc
lea eax, [esp + 0x10]
mov byte [eax + 0x1f], 0
mov dword [eax + 0x1b], 0
mov dword [eax + 0x17], 0
xor edx, edx
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
and ecx, 0x1e
mov edx, dword [esp + 4]
xor edx, 0xdf9e7e0f
lea esi, [ecx + edx]
add edx, ecx
add edx, 0xa9a35e20
lea ebx, [esi*2 + 0x5346bc40]
mov edi, 0x565ca1df
sub edi, esi
sub esi, ebx
lea ecx, [esi - 0x565ca1e1]
mov eax, ecx
xor eax, 0x1016224d
mov ebx, ecx
or ebx, 0x67e94db2
and ebx, eax
and edx, 0x8800904d
or edx, ebx
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x10]
xor edx, 0x9816b24d
not ecx
or ecx, edx
mov edx, eax
not edx
and edi, edx
and edx, 0x84555087
and eax, 0x78
or edx, eax
not edx
lea eax, [edx + eax*2]
add eax, 0x84555088
add ecx, esi
add ecx, 0xa9a35e1f
mov esi, 0xfffffffe
sub esi, ecx
and esi, eax
lea edx, [edi + edi]
not edx
add edx, edi
mov eax, esi
or edx, esi
not esi
and esi, 1
xor eax, 0xfffffffe
lea eax, [eax + esi*2]
mov ecx, eax
and ecx, edx
xor edx, eax
lea eax, [edx + ecx*2]
mov edx, dword [esp + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
add al, 0xb7
mov byte [esp + edx + 0x10], al
mov ecx, dword [esp + 8]
mov esi, 0xfffffffe
inc edx
add ecx, 2
cmp edx, 0x20
jne 0x4262c0
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x68]
call fcn.00402990
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add esi, 2
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x4263c0
shr ecx, 2
mov edi, edx
mov dword [esp + 8], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x4263e8
cmp edx, 0x2e
jne 0x4263ef
mov edx, ecx
not edx
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 8]
xor edx, 2
and esi, 0xfffffffa
sub esi, edx
cmp byte [eax + esi], 0x3d
mov dword [esp + 0x64], eax
je 0x426410
mov edx, dword [esp + 8]
cmp byte [eax + edx - 2], 0x2e
jne 0x426411
dec ecx
mov dword [esp + 0xc8], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408d90
add esp, 4
mov dword [esp + 0x60], eax
cmp dword [esp + 8], 0
je 0x42651e
xor ebx, ebx
mov edi, 2
jmp 0x426450
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
mov edi, eax
jae 0x42651e
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x64]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00419340
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00419340
mov edx, dword [esp + 0xc]
add esp, 4
mov ecx, eax
shr al, 4
and al, 3
shl bl, 2
or bl, al
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 4]
mov byte [eax + esi], bl
lea ebx, [esi + 1]
cmp edi, edx
jae 0x426440
mov byte [esp + 0xf], cl
mov eax, dword [esp + 0x64]
movzx eax, byte [eax + edi]
push eax
call fcn.00419340
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x426440
mov esi, dword [esp + 4]
lea ebx, [esi + 2]
movzx ecx, byte [esp + 0xf]
shl cl, 4
mov byte [esp + 0xf], al
shr al, 2
and al, 0xf
or al, cl
mov ecx, dword [esp + 0x60]
mov byte [ecx + esi + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x426440
mov eax, dword [esp + 0x64]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00419340
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
movzx ecx, byte [esp + 0xf]
je 0x426440
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 4]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x426440
mov eax, dword [esp + 0xc8]
add eax, 0xfffffffb
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x60]
add eax, 5
mov dword [esp + 0xb8], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
push 0x3234ab19
push dword [0x44d520]
call fcn.0043f840
add esp, 8
lea ecx, [esp + 0x54]
lea edx, [esp + 0xb4]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov ebx, dword [esp]
jmp dword [ecx*4 + 0x449b14]
mov dword [esp + 0x10], 0x3396316f
mov dword [esp + 0x14], 0x376835a4
mov dword [esp + 0x18], 0x2ba229bc
mov dword [esp + 0x1c], 0x2f2e2db8
lea eax, [esp + 0x20]
mov dword [eax + 3], 0
mov dword [eax], 0
mov eax, 0xffffffff
xor ecx, ecx
xor edi, edi
nop
nop
nop
nop
mov edx, eax
or edx, 0x16206877
mov esi, ecx
xor esi, 1
add esi, edx
mov edx, ecx
and edx, 8
add esi, edx
mov edx, edi
and edx, 2
add edx, esi
add edx, 0xe9df9788
movzx esi, byte [esp + ecx + 0x10]
xor edx, esi
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0xd4]
add dl, 0x48
mov byte [esp + ecx + 0x10], dl
inc ecx
dec eax
add edi, 2
cmp ecx, 0x17
jne 0x4265d0
lea edi, [esp + 0x84]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
xor ecx, ecx
lea edi, [esp + 0x94]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x68]
add eax, 0x10
cmp dword [esp + 0x4c], 0xfffffff8
jge 0x426652
mov eax, 0xffffffff
push eax
call fcn.00408d90
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x426681
lea edx, [ebx + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426670
mov word [eax], 0
movzx ecx, word [esp + 0x84]
test cx, cx
je 0x4266b1
lea edx, [esp + 0x86]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4266a0
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x54]
push dword [esp + 0x5c]
push edi
call fcn.004097a0
mov dword [esp + 8], eax
jmp dword [0x449b1c]
push edi
call fcn.00408da0
add esp, 4
jmp dword [0x449b24]
jmp dword [0x449b24]
mov edi, dword [esp + 0xd0]
jmp dword [0x449b34]
push dword [esp + 0x60]
call fcn.00408da0
add esp, 4
push dword [esp + 0xcc]
call fcn.00402ad0
add esp, 4
jmp dword [0x449b3c]
push edi
call fcn.00408da0
add esp, 4
mov eax, dword [case.0x424cdf.90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x449b60]
mov eax, dword [case.0x424cdf.73]
nop
nop
nop
nop
nop
jmp eax
mov edi, dword [esp + 0x78]
jmp dword [0x449b88]
push dword [esp + 4]
call fcn.00408da0
add esp, 4
mov ecx, dword [esp + 0x70]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x449adc]
cmp dword [esi + edx*8], 0xa3c1f363
je 0x4267a0
inc edx
cmp eax, edx
jne 0x426790
jmp case.0x424cdf.108
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je case.0x424cdf.108
push edi
push 1
push dword [0x44d51c]
push eax
call fcn.0043d9a0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x10], 0x92919097
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov eax, 0x900a7fc3
nop
nop
nop
movzx ecx, byte [esp + eax + 0x6ff5804d]
xor ecx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x84]
add ecx, 0x5bbc9ad3
mov edx, ecx
and edx, 0x58
xor ecx, 0xd8
lea ecx, [ecx + edx*2]
mov byte [esp + eax + 0x6ff5804d], cl
movzx ecx, byte [esp + eax + 0x6ff5804e]
lea edx, [eax + 1]
xor edx, ecx
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x84]
add ecx, 0x5bbc9ad3
mov edx, ecx
and edx, 0x58
xor ecx, 0xd8
lea ecx, [ecx + edx*2]
mov byte [esp + eax + 0x6ff5804e], cl
add eax, 2
cmp eax, 0x900a7fcf
jne 0x4267e0
mov eax, dword [0x44d514]
test eax, eax
je 0x426890
mov ecx, dword [esp + 0x10]
xor edx, edx
mov esi, dword [0x44d518]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xa3c1f363
je 0x426880
inc edx
cmp eax, edx
jne 0x426870
jmp 0x426890
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x426951
nop
nop
nop
nop
jmp dword [0x449b90]
mov dword [esp + 0x10], 0x92919097
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov eax, 0x900a7fc3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x6ff5804d]
xor ecx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x84]
add ecx, 0x5bbc9ad3
mov edx, ecx
and edx, 0x58
xor ecx, 0xd8
lea ecx, [ecx + edx*2]
mov byte [esp + eax + 0x6ff5804d], cl
movzx ecx, byte [esp + eax + 0x6ff5804e]
lea edx, [eax + 1]
xor edx, ecx
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x84]
add ecx, 0x5bbc9ad3
mov edx, ecx
and edx, 0x58
xor ecx, 0xd8
lea ecx, [ecx + edx*2]
mov byte [esp + eax + 0x6ff5804e], cl
add eax, 2
cmp eax, 0x900a7fcf
jne 0x4268c0
mov eax, dword [0x44d514]
test eax, eax
je case.0x424cdf.108
mov ecx, dword [esp + 0x10]
xor edx, edx
mov esi, dword [0x44d518]
jmp 0x426790
push edi
push 1
push dword [0x44d51c]
push eax
call fcn.0043d9a0
add esp, 0x10
jmp dword [0x449b90]
mov esi, dword [esp + 0x7c]
jmp dword [0x449b94]
jmp dword [0x449ba0]
push esi
call fcn.00408da0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408da0
add esp, 4
jmp dword [0x449ba8]
movzx eax, byte [esp + 8]
jmp dword [eax*4 + 0x449bac]
jmp dword [0x449bb8]
mov dword [esp + 0x10], 0xb5e0d68
mov dword [esp + 0x14], 0x779097b
mov dword [esp + 0x18], 0x3760565
mov dword [esp + 0x1c], 0x1f710120
mov dword [esp + 0x20], 0x1b691d90
mov dword [esp + 0x24], 0x17771996
mov dword [esp + 0x28], 0x136f156f
mov dword [esp + 0x2c], 0x2f5a1174
mov dword [esp + 0x30], 0x2ba02d51
mov dword [esp + 0x34], 0x27522955
mov dword [esp + 0x38], 0x235c2558
mov word [esp + 0x3c], 0x2120
lea eax, [esp + 0x10]
mov dword [eax + 0x31], 0
mov dword [eax + 0x2e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x10]
mov edx, eax
and edx, 2
mov esi, eax
xor esi, 0xc6100602
or esi, edx
add esi, edx
mov edx, esi
not edx
mov edi, edx
and edi, 0xbc81547d
or edx, 0x437eab82
add edx, esi
inc edx
or edx, edi
xor ecx, 0xbc81547d
mov esi, edx
not esi
and esi, ecx
sub edx, ecx
add edx, esi
or edx, esi
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0xb4]
mov ecx, edx
or ecx, 0xf1
lea esi, [edx + edx]
not esi
add esi, edx
or esi, 0xf1
add ecx, edx
add ecx, esi
add cl, 2
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x35
jne 0x426a30
lea edi, [esp + 0x84]
lea ebx, [esp + 0x10]
mov eax, ebx
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
mov ecx, 1
lea edi, [esp + 0xb0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x4c]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x426aee
mov eax, 0xffffffff
push eax
call fcn.00408d90
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x426b21
mov edx, dword [esp + 0x74]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426b10
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp]
movzx ecx, word [edx]
test cx, cx
je 0x426b51
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426b40
mov word [eax], 0
movzx ecx, word [esp + 0x84]
test cx, cx
je 0x426b81
lea edx, [esp + 0x86]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426b70
mov word [eax], 0
mov dword [esp + 0x10], 0x93e491a7
mov dword [esp + 0x14], 0x9fe29dfd
mov dword [esp + 0x18], 0x9bec99f1
mov dword [esp + 0x1c], 0xa7c6a5f6
mov word [esp + 0x20], 0xa1a6
lea eax, [esp + 0x10]
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [eax + 0x12], 0
mov eax, 0x6c
nop
nop
nop
nop
nop
movzx ecx, byte [ebx]
mov edx, eax
and edx, ecx
lea edi, [eax - 0x5f48c300]
or edi, ecx
not edi
or edi, edx
mov dword [esp + 0x54], edi
mov ecx, dword [esp + 0x54]
add ecx, 0xf2ff3e36
mov edx, ecx
xor edx, 0xfa
and ecx, 0x7a
lea ecx, [edx + ecx*2]
add cl, 0xcb
mov byte [ebx], cl
inc ebx
dec eax
cmp eax, 0x4e
jne 0x426bd0
lea edi, [esp + 0xb4]
lea ebx, [esp + 0x10]
mov eax, ebx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
mov ecx, 1
lea edi, [esp + 0xc4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x68]
and eax, 0x12
mov ecx, dword [esp + 0x4c]
xor ecx, 9
add ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x426c52
mov eax, 0xffffffff
push eax
call fcn.00408d90
add esp, 4
mov ecx, dword [esp]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x426c81
mov ecx, dword [esp]
lea edi, [ecx + 2]
mov ecx, eax
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x426c70
mov word [ecx], 0
movzx edx, word [esp + 0xb4]
test dx, dx
je 0x426cb1
lea edi, [esp + 0xb6]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x426ca0
mov word [ecx], 0
mov dword [esp + 0x10], 0x7b78799c
lea ecx, [esp + 0x10]
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov ecx, 0xa13698f
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0xa13697f]
xor edx, ecx
mov dword [esp + 0x54], edx
mov edi, dword [esp + 0x54]
add edi, 0x44f39fa9
mov edx, edi
and edx, 0x44
add edx, edx
xor edi, 0x3b
sub edx, edi
add dl, 0xa9
mov byte [esp + ecx - 0xa13697f], dl
inc ecx
cmp ecx, 0xa13699f
jne 0x426ce0
push 0
push 0
push 0
push 0xc00000
push ebx
push esi
push eax
push dword [ebp + 8]
call fcn.0041c2f0
add esp, 0x20
mov ecx, dword [esp + 0x5c]
and cl, 1
or cl, al
mov dword [esp + 0x5c], ecx
mov ebx, dword [esp]
add ebx, 2
mov dword [esp + 0x10], 0xb5e0d68
mov dword [esp + 0x14], 0x779097b
mov dword [esp + 0x18], 0x3760565
mov dword [esp + 0x1c], 0x1f710120
mov dword [esp + 0x20], 0x1b691d90
mov dword [esp + 0x24], 0x17771996
mov dword [esp + 0x28], 0x136f156f
mov dword [esp + 0x2c], 0x2f5a1174
mov dword [esp + 0x30], 0x2ba02d51
mov dword [esp + 0x34], 0x27522955
mov dword [esp + 0x38], 0x235c2558
mov word [esp + 0x3c], 0x2120
lea eax, [esp + 0x10]
mov dword [eax + 0x31], 0
mov dword [eax + 0x2e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x10]
mov edx, eax
and edx, 2
mov esi, eax
xor esi, 0xc6100602
or esi, edx
add esi, edx
mov edx, esi
not edx
mov edi, edx
and edi, 0xbc81547d
or edx, 0x437eab82
add edx, esi
inc edx
or edx, edi
xor ecx, 0xbc81547d
mov esi, edx
not esi
and esi, ecx
sub edx, ecx
add edx, esi
or edx, esi
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x54]
mov ecx, edx
or ecx, 0xf1
lea esi, [edx + edx]
not esi
add esi, edx
or esi, 0xf1
add ecx, edx
add ecx, esi
add cl, 2
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x35
jne 0x426dc0
lea edi, [esp + 0x84]
lea esi, [esp + 0x10]
mov eax, esi
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
lea edi, [esp + 0xb0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x4c]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x426e80
mov eax, 0xffffffff
jmp 0x426e89
add eax, edx
lea eax, [eax*2 + 0x2e]
mov edi, dword [esp + 0x50]
push eax
call fcn.00408d90
add esp, 4
movzx ecx, word [edi]
mov dword [esp + 4], eax
test cx, cx
je 0x426ec1
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426eb0
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esp]
movzx ecx, word [ecx]
test cx, cx
je 0x426ef1
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426ee0
mov word [eax], 0
movzx ecx, word [esp + 0x84]
test cx, cx
je 0x426f21
lea edx, [esp + 0x86]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426f10
mov word [eax], 0
mov dword [esp + 0x10], 0x93e491a7
mov dword [esp + 0x14], 0x9fe29dfd
mov dword [esp + 0x18], 0x9bec99f1
mov dword [esp + 0x1c], 0xa7c6a5f6
mov word [esp + 0x20], 0xa1a6
lea eax, [esp + 0x10]
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [eax + 0x12], 0
mov eax, 0x6c
nop
nop
nop
nop
nop
movzx ecx, byte [esi]
mov edx, eax
and edx, ecx
lea edi, [eax - 0x5f48c300]
or edi, ecx
not edi
or edi, edx
mov dword [esp + 0x54], edi
mov ecx, dword [esp + 0x54]
add ecx, 0xf2ff3e36
mov edx, ecx
xor edx, 0xfa
and ecx, 0x7a
lea ecx, [edx + ecx*2]
add cl, 0xcb
mov byte [esi], cl
inc esi
dec eax
cmp eax, 0x4e
jne 0x426f70
lea edi, [esp + 0xb4]
lea esi, [esp + 0x10]
mov eax, esi
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0xc4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x68]
and ecx, 0x12
mov eax, dword [esp + 0x4c]
xor eax, 9
add eax, ecx
jns 0x426ff0
mov eax, 0xffffffff
jmp 0x426ff2
add eax, eax
push eax
call fcn.00408d90
add esp, 4
mov edi, eax
mov eax, dword [esp]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x427021
mov eax, edi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x427010
mov word [eax], 0
movzx ecx, word [esp + 0xb4]
test cx, cx
je 0x427060
lea edx, [esp + 0xb6]
mov ebx, dword [esp]
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427040
jmp 0x427063
mov ebx, dword [esp]
mov word [eax], 0
mov dword [esp + 0x10], 0x7b78799c
lea eax, [esp + 0x10]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, 0xa13698f
nop
nop
movzx ecx, byte [esp + eax - 0xa13697f]
xor ecx, eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x54]
add edx, 0x44f39fa9
mov ecx, edx
and ecx, 0x44
add ecx, ecx
xor edx, 0x3b
sub ecx, edx
add cl, 0xa9
mov byte [esp + eax - 0xa13697f], cl
inc eax
cmp eax, 0xa13699f
jne 0x427090
push 0
push 0
push 0
push 0xc00000
push esi
push dword [esp + 0x18]
push edi
push dword [ebp + 8]
call fcn.0041c2f0
add esp, 0x20
mov ecx, dword [esp + 0x5c]
and cl, 1
or cl, al
mov dword [esp + 0x5c], ecx
jmp dword [0x449bc0]
jmp dword [0x449bc4]
push edi
call fcn.00408da0
add esp, 4
mov esi, dword [esp + 0x50]
jmp dword [0x449bcc]
mov esi, dword [esp + 0x50]
jmp dword [0x449bcc]
mov ecx, dword [esp + 0x70]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x449adc]
push 0xaa39f1ac
push dword [0x44d508]
call fcn.0043f840
add esp, 8
push dword [esp + 0x58]
call eax
push 0xaa39f1ac
push dword [0x44d508]
call fcn.0043f840
add esp, 8
push dword [esp + 0x58]
call eax
jmp dword [0x449b2c]
jmp dword [0x449bf8]
mov eax, dword [esp + 0x5c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.00408da0
add esp, 4
push esi
call fcn.00408da0
add esp, 4
jmp dword [0x449be8]
int3
aaa
inc edx
add byte [ecx - 0xaffbdc4], ah
aaa
inc edx
add byte [ebx], ah
cmp byte [edx], al
pop edi
cmp byte [edx], al
jne 0x4497e2
inc edx
add byte [eax + edi + 0x38750042], al
inc edx
add byte [eax - 0x7fffbdc8], al
cmp byte [edx], al
test byte [eax], bh
inc edx
add byte [eax + 0x10004238], al
cmp byte [edx], al
xchg esi, eax
cmp byte [edx], al
xchg esi, eax
cmp byte [edx], al
xchg esi, eax
cmp byte [edx], al
enter 0x4238, 0
xchg esi, eax
cmp byte [edx], al
adc byte [eax], bh
inc edx
add dh, dl
cmp byte [edx], al
adc byte [eax], bh
cmp byte [edx], al
adc al, 0x39
inc edx
add byte [eax], dl
cmp byte [edx], al
adc al, 0x39
inc edx
add byte [edx - 0x4cffbdc6], ch
cmp al, byte [edx]
salc
cmp al, byte [edx]
std
cmp al, byte [edx]
loop 0x449839
inc edx
add al, dh
cmp eax, dword [edx]
cmp dword [edx + eax*2], 0x423bfe00
add byte [ebp + 60], dl
inc edx
add byte [ecx + 0xc00423c], al
cmp al, 0x42
add byte [edi + 0x3c], bl
inc edx
add byte [esp + edi], cl
inc edx
add dh, dl
cmp al, byte [edx]
aaa
inc edx
add byte [edi], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi], dh
inc edx
add byte [edi], dh
inc edx
add byte [edi], dh
inc edx
add byte [eax], cl
cmp byte [edx], al
mov al, 0x3c
inc edx
add ch, dh
cmp eax, 0x3e050042
inc edx
add byte [edx + 0x3e], ah
inc edx
add byte [esi + edi + 0x3e700042], bl
inc edx
add byte [eax + 0x3e], dh
inc edx
add byte [eax + 0x3e], dh
inc edx
add byte [esi + 0x28004243], dl
inc eax
inc edx
add byte [eax - 0x27ffbdbe], ah
inc ecx
inc edx
add byte [eax + 0x40], ah
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + eax*2 + 0x41d80042], cl
inc ecx
inc ecx
inc edx
add byte [ecx - 0x40ffbdbf], bh
inc ecx
inc edx
add al, dl
inc ecx
inc edx
add al, dl
inc ecx
inc edx
add al, dl
inc ecx
inc edx
add al, dl
inc ecx
inc edx
add al, bl
inc ecx
inc edx
add bl, dl
inc edx
inc edx
add byte [eax + 0x43], ah
inc edx
add ch, bl
inc edx
inc edx
add al, dh
inc edx
inc edx
add al, dh
inc edx
inc edx
add bh, bh
inc edx
inc edx
add byte [edx], bl
inc ebx
inc edx
add byte [ecx], cl
inc ebx
inc edx
add byte [edx], bl
inc ebx
inc edx
add byte [ebp + 0x43], cl
inc edx
add byte [eax + 0x43], ah
inc edx
add byte [edi + 0x43], ch
inc edx
add byte [eax - 0x7fffbdbd], al
inc edx
add byte [esi - 0x6affbdbd], dl
inc edx
add byte [esi - 0x6affbdbd], dl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x5bffbdbd], dl
inc ebx
inc edx
add byte [eax - 0x4fffbdbd], dh
inc ebx
inc edx
add byte [eax - 0x4fffbdbd], dh
inc ebx
inc edx
add byte [esi + 0x7c004243], dh
push edx
inc edx
add byte [ecx + edx*2], al
inc edx
add byte [edx + edx*2 + 0x42], bh
add bl, bh
push ebx
inc edx
add byte [esi], al
push esp
inc edx
add byte [edi], cl
push esp
inc edx
add byte [esi + 0x43004247], al
push esp
inc edx
add byte [edi + 0x56], ah
inc edx
add byte [ecx + 0x54], ch
inc edx
add byte [eax + 0x56], cl
inc edx
add byte [ebx + 0x4254], ah
push ebp
inc edx
add byte [eax + 0x4254], dh
push ebp
inc edx
add byte [edi + 0x55], cl
inc edx
add byte [edx + 0x56], al
inc edx
add byte [ebp + edx*2 + 0x42], ah
add byte [ecx], dh
push esi
inc edx
add byte [eax + ebx*2 + 0x42], ah
add byte [ecx], dh
push esi
inc edx
add byte [edx + 0x40004258], ch
push esi
inc edx
add byte [eax + 0x56], al
inc edx
add byte [edx + 0x56], al
inc edx
add byte [eax + 0x56], al
inc edx
add dl, al
inc ebx
inc edx
add byte [eax + 0x56], cl
inc edx
add byte [esi + 0x56], cl
inc edx
add byte [edi + 0x56], ah
inc edx
add byte [ecx + 0x56], dh
inc edx
add byte [esi + 0x57], ah
inc edx
add byte [esi + 0x66004247], al
push edi
inc edx
add byte [eax - 0x4cffbdb9], dl
inc edi
inc edx
add bh, al
inc edi
inc edx
add byte [ebx - 0x51ffbdb0], cl
dec edx
inc edx
add byte [esi + 0x3f00424a], bh
dec ebp
inc edx
add bh, ch
dec edx
inc edx
add byte [eax], dl
dec ebp
inc edx
add byte [edi], ch
dec ebx
inc edx
add dh, ah
dec esp
inc edx
add byte [ebx + ecx*2 + 0x4ce60042], bl
dec esp
dec esp
inc edx
add bl, ch
push eax
inc edx
add byte [eax], al
inc esp
inc edx
add byte [eax], al
inc esp
inc edx
add byte [eax], al
inc esp
inc edx
add byte [edx], al
inc esp
inc edx
add byte [eax + 0x16004247], al
inc esp
inc edx
add byte [eax - 0x7fffbdb9], al
inc edi
inc edx
add byte [eax - 0x19ffbdb9], al
dec esp
inc edx
add byte [esi], dl
inc esp
inc edx
add byte [esi], dl
inc esp
inc edx
add byte [ebx], ah
inc esp
inc edx
add byte [esi], dl
inc esp
inc edx
add byte [ecx + 0x44], al
inc edx
add byte [ebx], dh
inc esp
inc edx
add byte [ecx + 0x44], al
inc edx
add byte [eax + 0x44], ah
inc edx
add byte [0xd5004245], bh
inc esp
inc edx
add al, al
inc esp
inc edx
add byte [eax*2 + 0x45ce0042], al
inc edx
add byte [edx - 0x3dffbdbb], ah
inc ebp
inc edx
add byte [eax - 0x31ffbdbb], al
inc ebp
inc edx
add byte [edi - 0x1fffbdbb], cl
inc ebp
inc edx
add al, ah
inc ebp
inc edx
add dl, ah
inc ebp
inc edx
add al, ah
inc ebp
inc edx
add bl, bh
inc ebp
inc edx
add byte [ecx], al
inc esi
inc edx
add byte [ebp - 0x74ffbdba], al
inc esi
inc edx
add byte [edi + eax*2 + 0x42], ah
add byte [ecx + 0x44], al
inc edx
add byte [eax + 0x44], dl
inc edx
add byte [edi + 0x44], al
inc edx
add byte [eax + 0x44], dl
inc edx
add byte [ecx + 0x44], bl
inc edx
add bl, dh
dec esp
inc edx
add byte [eax], dl
dec ebp
inc edx
add byte [esi], dl
dec ebp
inc edx
add byte [edi], bh
dec ebp
inc edx
add byte [eax], dh
dec ebp
inc edx
add byte [ecx*2 + 0x4d300042], bl
inc edx
add byte [edi], bh
dec ebp
inc edx
add byte [esi + ecx*2], bl
inc edx
add bh, bl
inc ebx
inc edx
add bh, ch
inc ebx
inc edx
add byte [eax], bh
dec esi
inc edx
add byte [ecx + 0x4e], cl
inc edx
add byte [eax + 0x4f], dl
inc edx
add byte [edi + 0x50], bl
inc edx
add byte [eax + 0x4f], dl
inc edx
add byte [ecx + 0x50], ch
inc edx
add ch, dh
inc ebx
inc edx
add byte [edi + 0x50], bh
inc edx
add byte [eax - 0x74ffbdb0], al
push eax
inc edx
add byte [eax + 0x14004250], al
pop edi
inc edx
add byte [edx], bh
pop edi
inc edx
add byte [ecx], cl
inc edx
add byte [ebx + 0x61], cl
inc edx
add byte [eax + 0x4b004261], al
popal
inc edx
add byte [eax + 0x69], dh
inc edx
add byte [ecx + 0x52004261], dh
inc edx
add dh, bl
popal
inc edx
add byte [edx + 0x42], al
add byte [edx], bl
bound eax, qword [edx]
inc esp
bound eax, qword [edx]
dec edx
bound eax, qword [edx]
out 0x66, al
inc edx
add byte [edx - 0x2effbd9b], dl
inc dx
add al, ah
inc dx
add byte [ecx + 0x71], cl
inc edx
add byte [eax], dh
jno 0x449b6d
add dh, ah
inc dx
add byte [eax], dh
jno 0x449b75
add bl, dh
inc dx
add bh, bh
inc dx
add byte [edi], dl
inc edx
add byte [eax + 0x67], al
inc edx
add byte [eax], dh
inc edx
add byte [eax], dh
inc edx
add byte [eax + 0x67], al
inc edx
add byte [eax], dh
inc edx
add byte [eax + 0x67], al
inc edx
add byte [eax + 0x67], al
inc edx
add byte [eax + 0x67], al
inc edx
add byte [esi + 0x67], al
inc edx
add byte [eax + 0x67], dl
inc edx
add byte [eax + 0x67], dl
inc edx
add byte [eax + 0x67], dl
inc edx
inc edx
add byte [edx + 0x67], dl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + esi*2 + 0x10042], bl
add byte [eax], al
xchg esi, eax
push 1740636226
inc edx
add byte [esi + 0x70004268], dl
imul eax, dword [edx], case.0x424cdf.111
lahf
imul eax, dword [edx], case.0x424cdf.113
nop
imul eax, dword [edx], case.0x424cdf.114
lahf
imul eax, dword [edx], case.0x424cdf.117
stosd dword es:[edi], eax
imul eax, dword [edx], case.0x424cdf.119
inc eax
insd dword es:[edi], dx
inc edx
add byte [eax + 0x6d], al
inc edx
add ch, dh
jo 0x449c05
add bl, bh
jo 0x449c09
add byte [eax], dl
jno 0x449c0d
add byte [eax + 0x67], ah
inc edx
add byte [edx], bl
jno 0x449c15
add byte [edx], bl
pop edi
inc edx
add byte [esi + 0x71], dh
inc edx
add byte [ecx + esi*2 + 0x718d0042], al
inc edx
add byte [ecx + esi*2 + 0x71700042], al
inc edx
add byte [eax + 0x71], dh
inc edx
add byte [eax + 0x71], dh
inc edx
add byte [eax + 0x71], dh
inc edx
add byte [esi + 0x71], dh
inc edx
add byte [eax], al
add byte [eax], al
add byte [ebx], ch
xchg byte [edx], al
xchg byte es:[edx], al
xchg byte [edx], al
fisttp qword [ecx - 0x5942ffbe]
mov dword [edx], eax
mov ebp, 0xd90042a6
cmpsb byte [esi], byte es:[edi]
inc edx
add cl, bl
test al, 0x42
add bl, dl
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [ecx + ebp*4 + 0x42], ah
add byte [eax + 0x2d0042a6], bh
stosd dword es:[edi], eax
inc edx
add byte [edi], ah
stosd dword es:[edi], eax
inc edx
add cl, bh
lodsb al, byte [esi]
inc edx
add byte [eax - 0x4fffbd79], dh
xchg dword [edx], eax
push ebp
mov al, byte [edx]
ror byte [edx - 0x74c5ffbe], 1
inc edx
add dl, dl
xchg dword [edx], eax
cmp cl, byte [ebx - 0x717dffbe]
inc edx
add byte [ebp - 0x72], bh
inc edx
add byte [eax - 0x5fffbd6a], ah
xchg esi, eax
inc edx
add dh, bl
xchg esi, eax
inc edx
add byte [eax - 0x9ffbd69], dl
xchg esi, eax
inc edx
add byte [esi], al
cwde
inc edx
add al, bl
cwde
inc edx
add bh, ch
cwde
inc edx
add bh, ch
cwde
inc edx
add byte [edi + edx*4], al
inc edx
add bh, ch
cwde
inc edx
add bh, ch
cwde
inc edx
add byte [eax - 0x6fffbd6a], dl
xchg esi, eax
inc edx
add byte [esi], bl
cdq
inc edx
add byte [esi], ch
cdq
inc edx
add byte [eax - 0x67], dh
inc edx
add dh, dh
xchg ebp, eax
inc edx
add byte [eax - 0x67], dh
inc edx
add byte [eax - 0x67], dh
inc edx
add byte [0x8b00429a], ch
mov ebx, 0xa0300042
inc edx
add byte [edx], dh
mov al, byte [0xa0420042]
inc edx
add byte [eax - 0x60], cl
inc edx
add byte [eax - 0x60], cl
inc edx
add byte [eax - 0x60], cl
inc edx
add byte [eax - 0x60], cl
inc edx
add byte [eax - 0x60], ah
inc edx
add byte [eax - 0x60], dh
inc edx
add byte [ebp - 0x6dffbd5e], dh
mov byte [0xa2dd0042], al
inc edx
add byte [edi], ah
mov dword [0xa34b0042], eax
inc edx
add byte [ebp - 0x5d], dh
inc edx
add byte [edx - 0x76ffbd5d], ah
mov dword [0xa3890042], eax
inc edx
add byte [ebx - 0x5fffbd45], cl
mov dword [0xaef00042], eax
inc edx
add al, dh
scasb al, byte es:[edi]
inc edx
add byte [edi - 0x5d], ch
inc edx
add byte [edi], ah
mov ebx, 0xaef00042
inc edx
add al, dh
scasb al, byte es:[edi]
inc edx
add byte [edx], cl
mov dword [0xaef00042], eax
inc edx
add byte [edi - 0x4c], dh
inc edx
add byte [edi - 0x4c], ch
inc edx
add bl, dh
mov edx, 0xbafc0042
inc edx
add ah, bh
mov edx, 0xab370042
inc edx
add byte [ebx - 0x76], bl
inc edx
add byte [eax], dh
mov al, byte [0xa3a00042]
inc edx
add byte [ebx + edi*4], al
inc edx
add al, dh
rol dword [edx], 1
daa
rol byte [edx], 4
aad 0x42
add byte [ebx - 0x2d], ch
inc edx
add byte [0xa30042d5], dl
iretd