Function at 0x428397
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], 0x65286347
mov dword [esp + 0x28], 0x690b6709
mov dword [esp + 0x2c], 0x6d006b0b
mov dword [esp + 0x30], 0x91006f2f
mov dword [esp + 0x34], 0x95d09302
mov dword [esp + 0x38], 0x990c97f7
mov dword [esp + 0x3c], 0x9db99bfb
mov dword [esp + 0x40], 0x81f39fe2
mov dword [esp + 0x44], 0x85e18316
mov dword [esp + 0x48], 0x89e587e7
mov dword [esp + 0x4c], 0x8de08bf6
mov dword [esp + 0x50], 0xb1d38fe1
mov dword [esp + 0x54], 0xb5d8b3d3
mov dword [esp + 0x58], 0xb92eb798
mov dword [esp + 0x5c], 0xbddabbde
lea eax, [esp + 0x60]
mov word [esp + 0x60], 0xbfbe
mov ecx, 0x32cea0f2
mov edx, 0xd
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x32cea0ce]
mov esi, edx
xor esi, ecx
and esi, edi
xor esi, ecx
mov ebx, esi
and ebx, 0x6f
add ebx, ebx
mov edi, esi
or edi, 0x90
not esi
or esi, 0x6f
and esi, edi
sub ebx, esi
mov byte [esp + ecx - 0x32cea0ce], bl
inc ecx
dec edx
cmp ecx, 0x32cea130
jne 0x427cf0
lea edx, [esp + 0x24]
mov ecx, 0xf
lea ebx, [esp + 0x6a]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0xd4]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44a4dc]
mov dword [esp + 0x24], 0x89484725
mov ecx, 0xf6
mov edx, 9
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0xd2]
lea edi, [ebx + ebx]
not edi
add edi, ebx
mov ebp, ecx
or ebp, ebx
not ebx
and ebx, edi
or ebx, edx
and ebx, ebp
add bl, 0x50
mov byte [esp + ecx - 0xd2], bl
inc ecx
dec edx
cmp ecx, 0xfa
jne case.default.0x427dc1
xor ecx, ecx
cmp eax, dword [esp + 0x24]
setne cl
xor eax, eax
mov ebp, dword [esp + 0x20]
mov edi, dword [esp]
jmp dword [ecx*4 + 0x445948]
push dword [esp + 0x1c]
call fcn.00408100
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x445a60]
mov eax, dword [esp + 4]
mov byte [eax], 0
mov dword [esp + 0x24], 0x3f222111
mov dword [esp + 0x28], 0x2337363d
mov dword [esp + 0x2c], 0x28343631
mov dword [esp + 0x30], 0x3a2a0e73
mov dword [esp + 0x34], 0x374d0c01
mov dword [esp + 0x38], 0x9030e0b
mov dword [esp + 0x3c], 0x131e471b
mov word [esp + 0x40], 0x6d18
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, 0x10
xor ecx, 0x30
mov edx, eax
and edx, 0xf
sub edx, ecx
and dl, 0x7f
xor byte [esp + eax + 0x24], dl
inc eax
cmp eax, 0x1e
jne 0x427f00
mov edx, dword [esp + 4]
sub edx, esi
lea eax, [esp + 0x24]
mov ecx, dword [esp + 0xf0]
push edx
push esi
push eax
call fcn.004090d0
jmp dword [0x445a68]
push esi
mov esi, eax
call fcn.00408100
mov eax, esi
add esp, 4
and al, 1
mov dword [esp + 8], edx
mov esi, dword [esp + 0xb8]
mov ecx, esi
call fcn.0042a7e0
push esi
call fcn.00408100
add esp, 4
jmp dword [0x445a40]
push dword [esp + 0xbc]
call fcn.00408100
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x445a60]
jmp dword [0x445a68]
movzx eax, byte [ebx]
test al, al
je 0x428794
inc ebx
mov ecx, dword [esp + 4]
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x428787
jmp 0x428798
mov ecx, dword [esp + 4]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0xc0]
test esi, esi
je 0x4287db
mov ecx, dword [esp + 0xc4]
mov edx, esi
and edx, 3
je 0x4287df
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x4287bd
add eax, edi
mov edx, esi
sub edx, edi
mov ebp, eax
mov edi, dword [esp]
jmp 0x4287e1
mov ebp, eax
jmp 0x42881f
mov edx, esi
cmp esi, 4
jb 0x42881f
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 ebp, [eax + 4]
mov byte [eax + 3], bl
mov eax, ebp
add edx, 0xfffffffc
jne 0x4287e6
mov byte [ebp], 0xa
inc ebp
mov dword [esp + 4], ebp
push 0xd77a5d9a
push dword [0x4494d4]
call fcn.0043e140
add esp, 8
push dword [esp + 0xc4]
call eax
mov dl, 1
mov esi, dword [esp + 0x10]
jmp dword [0x445a20]
push dword [esp + 0x18]
mov esi, edx
call fcn.00408100
mov edx, esi
mov esi, dword [esp + 0x14]
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4459a8]
mov ebx, dword [esp + 0x58]
test ebx, ebx
jns 0x428992
mov eax, 0xffffffff
jmp 0x428995
mov ecx, dword [case.0x427dc1.82]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
lea eax, [ebx + ebx]
push eax
call fcn.004080f0
add esp, 4
push edi
push ebx
mov edi, eax
push eax
push 9
push esi
push 0
call dword [0x44a4dc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445a98]
jmp dword [0x445aa0]
jmp dword [0x445aa8]
push edi
call fcn.00408100
add esp, 4
nop
push edi
call fcn.00408100
add esp, 4
jmp dword [0x445ab4]
jmp dword [0x445ac0]
xor eax, eax
jmp 0x42954c
mov dword [esp + 0x50], edi
jmp dword [0x445acc]
mov dword [esp + 0x94], ecx
mov ebp, dword [esp + ecx + 0x80]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + esi + 2], 0
lea esi, [esi + 2]
jne 0x428a20
mov dword [esp + 0x64], esi
sar esi, 1
mov eax, dword [esp + 0x58]
lea ecx, [esi + eax]
add ecx, 0xd
test ecx, ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x74], esi
jns 0x428a60
mov eax, 0xffffffff
jmp 0x428a69
add eax, esi
lea eax, [eax*2 + 0x1a]
mov dword [esp + 0x40], ebp
push eax
call fcn.004080f0
add esp, 4
mov esi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x428aa1
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x428a90
mov word [eax], 0x5c
mov dword [esp + 6], 0x93de91cc
mov dword [esp + 0xa], 0x97f595fb
mov dword [esp + 0xe], 0x9bf699f9
mov dword [esp + 0x12], 0x9fcd9dbc
mov dword [esp + 0x16], 0xa3c3a1d4
mov dword [esp + 0x1a], 0xa7c3a5d0
mov word [esp + 0x1e], 0xa9a8
mov ecx, 0xef
mov ebp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ebp - 0xa]
mov edx, edi
not edx
and edx, 0x85
mov ebx, edi
xor ebx, 0x85
or edi, 0x7a
and edi, ebx
or edi, edx
mov ebx, ecx
and ebx, 0x85
mov edx, ebp
and edx, 0x3a
or edx, ebx
xor edx, edi
add dl, 0x80
mov byte [esp + ebp - 0xa], dl
dec ecx
inc ebp
cmp ebp, 0x2a
jne 0x428af0
add eax, 2
mov edx, dword [esp + 0x40]
movzx ecx, word [edx]
test cx, cx
je 0x428b70
add edx, 2
lea ebp, [esp + 6]
nop
nop
nop
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 0x428b50
jmp 0x428b74
lea ebp, [esp + 6]
mov word [eax], 0
movzx ecx, word [esp + 6]
test cx, cx
je 0x428ba1
mov edx, dword [esp]
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 0x428b90
mov word [eax], 0
lea eax, [esp + 0x3c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043e830
add esp, 0x14
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445af8]
lea eax, [esp + 0x54]
push 0
push eax
push dword [esp + 0x44]
call fcn.0043eb60
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445b00]
jmp dword [0x445b08]
mov edi, dword [esp + 0x54]
mov eax, edi
and eax, 1
mov ecx, edi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.004080f0
add esp, 4
push 0
push edi
push eax
push dword [esp + 0x48]
call fcn.0043ec30
add esp, 0x10
nop
nop
nop
nop
mov edi, dword [esp + 0x54]
mov eax, edi
and eax, 1
mov ecx, edi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.004080f0
add esp, 4
mov ebx, eax
push 0
push edi
push eax
push dword [esp + 0x48]
call fcn.0043ec30
add esp, 0x10
jmp dword [0x445b14]
mov dword [esp + 0x5c], ebx
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445b18]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
mov byte [ecx + eax], 0
push ecx
call fcn.00401000
add esp, 4
mov edi, eax
xor eax, eax
test edi, edi
setne al
xor ebx, ebx
mov dword [esp + 0x6c], esi
jmp dword [eax*4 + 0x445b20]
push edi
call fcn.00401a80
add esp, 4
mov dword [esp + 6], 0x102d021f
mov dword [esp + 0xa], 0x3060c06
mov dword [esp + 0xe], 0x18141c56
mov dword [esp + 0x12], 0xb0e040e
mov dword [esp + 0x16], 0xe8dde5e5
mov word [esp + 0x1a], 0xfce1
mov byte [esp + 0x1c], 0x86
nop
nop
nop
nop
mov ecx, ebx
add cl, 0x70
xor byte [esp + ebx + 6], cl
inc ebx
cmp ebx, 0x17
jne 0x428cd0
push ebp
push eax
call fcn.00401dc0
add esp, 8
mov ebx, eax
mov ecx, 0xffffffff
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add edx, 3
cmp byte [ebx + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x428d00
shr edx, 2
movzx eax, byte [ebx + ecx - 1]
cmp eax, 0x3d
je 0x428d21
cmp eax, 0x2e
jne 0x428d22
dec edx
mov eax, ecx
not eax
and eax, 2
mov dword [esp + 0x34], ecx
and ecx, 0xfffffffd
sub ecx, eax
movzx eax, byte [ebx + ecx]
cmp eax, 0x3d
je 0x428d40
cmp eax, 0x2e
jne 0x428d47
mov dword [esp + 0x44], edi
dec edx
jmp 0x428d4b
mov dword [esp + 0x44], edi
mov dword [esp + 0x8c], edx
lea eax, [edx + 1]
push eax
call fcn.004080f0
add esp, 4
mov dword [esp + 0x38], eax
cmp dword [esp + 0x34], 0
je 0x428e59
xor ebp, ebp
mov edi, 2
mov dword [esp + 0x70], ebx
jmp 0x428d98
mov esi, dword [esp + 0x6c]
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
mov ebx, dword [esp + 0x70]
jae 0x428e59
mov dword [esp], ebp
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.0041e450
add esp, 4
mov esi, ebx
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.0041e450
mov edx, dword [esp + 4]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ebp, [edx + 1]
mov ecx, dword [esp + 0x38]
mov byte [ecx + edx], al
mov ecx, dword [esp + 0x34]
cmp edi, ecx
jae 0x428d80
movzx eax, byte [esi + edi]
push eax
call fcn.0041e450
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
mov esi, dword [esp + 0x6c]
je 0x428d84
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edx, dword [esp]
lea ebp, [edx + 2]
mov ecx, dword [esp + 0x38]
mov byte [ecx + edx + 1], al
mov ecx, dword [esp + 0x34]
lea eax, [edi + 1]
cmp eax, ecx
jae 0x428d84
mov eax, dword [esp + 0x70]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041e450
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
je 0x428d84
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp]
mov byte [ecx + ebp + 2], al
mov ecx, dword [esp + 0x34]
add ebp, 3
jmp 0x428d84
mov eax, dword [esp + 0x8c]
add eax, 0xfffffffb
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x38]
add eax, 5
mov dword [esp + 0x9c], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
push 0x8b2600cb
push dword [0x44a4ec]
call fcn.0043e140
add esp, 8
lea ecx, [esp + 0x78]
lea edx, [esp + 0x98]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445b28]
xor ebx, ebx
mov edi, dword [esp + 0x44]
lea ebp, [esp + 6]
jmp dword [0x445b38]
jmp dword [0x445b44]
mov eax, dword [esp + 0x74]
cmp eax, 0xfffffff8
jge 0x428ee8
mov eax, 0xffffffff
jmp 0x428eef
mov eax, dword [esp + 0x64]
add eax, 0x10
push eax
call fcn.004080f0
add esp, 4
mov dword [esp], eax
mov dword [esp + 6], 0x7d987b55
mov dword [esp + 0xa], 0x614e7fee
mov dword [esp + 0xe], 0x65fc63f6
mov dword [esp + 0x12], 0x696867f2
mov eax, 0x2a
movzx edx, byte [esp + eax - 0x24]
mov ecx, eax
and ecx, edx
mov edi, ecx
and edi, 2
mov ebx, ecx
or ebx, 0xfffffffd
inc ebx
mov ebp, ecx
and ebp, 0x3d
imul ebp, ebx
or ecx, 2
imul ecx, edi
add ebp, edx
sub ebp, ecx
lea ecx, [eax + ebp]
add ecx, 0xa5eb63af
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x24], cl
inc eax
cmp eax, 0x3a
jne 0x428f20
mov edx, dword [esp + 0x40]
movzx ecx, word [edx]
mov ebx, dword [esp]
mov eax, ebx
test cx, cx
je 0x428f91
add edx, 2
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x428f80
mov word [eax], 0
movzx ecx, word [esp + 6]
test cx, cx
lea ebp, [esp + 6]
mov edi, dword [esp + 0x44]
je 0x428fc1
mov edx, dword [esp + 0x60]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x428fb0
mov word [eax], 0
mov ecx, dword [esp + 0x10c]
push dword [esp + 0x78]
push dword [esp + 0x80]
push ebx
call fcn.00408ee0
mov ecx, ebx
mov ebx, eax
jmp dword [0x445b30]
push ecx
call fcn.00408100
add esp, 4
push 0xd77a5d9a
push dword [0x4494d4]
call fcn.0043e140
add esp, 8
push dword [esp + 0x7c]
call eax
jmp dword [0x445b38]
push dword [esp + 0x38]
call fcn.00408100
add esp, 4
jmp dword [0x445b44]
push edi
call fcn.00401f90
add esp, 4
nop
nop
nop
nop
nop
push edi
call fcn.00401f90
add esp, 4
jmp dword [0x445b4c]
jmp dword [0x445b50]
push dword [esp + 0x5c]
call fcn.00408100
add esp, 4
jmp dword [0x445b5c]
jmp dword [0x445b5c]
jmp dword [0x445ba0]
jmp dword [0x445bac]
push ebx
call fcn.00408100
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00408100
add esp, 4
jmp dword [0x445bb0]
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 6], 0x12131415
mov ecx, 0x5a
mov edx, 1
nop
nop
nop
nop
nop
nop
nop
mov edi, edx
and edi, 1
mov eax, ecx
and eax, 0x5e
or eax, edi
xor al, byte [esp + ecx - 0x54]
xor al, 0x81
add al, 0x30
mov byte [esp + ecx - 0x54], al
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x4290c0
mov ecx, dword [0x44a4e0]
test ecx, ecx
je case.0x427dc1.132
mov edx, dword [esp + 6]
xor edi, edi
mov eax, dword [0x44a4e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0xb430e561
je 0x429110
inc edi
cmp ecx, edi
jne 0x429100
jmp case.0x427dc1.132
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.0x427dc1.132
push dword [esp]
push 4
push eax
push dword [0x44a4e8]
call fcn.0043c7c0
add esp, 0x10
nop
nop
nop
nop
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 6], 0x12131415
mov ecx, 0x5a
mov edx, 1
nop
nop
nop
nop
nop
nop
nop
mov edi, edx
and edi, 1
mov eax, ecx
and eax, 0x5e
or eax, edi
xor al, byte [esp + ecx - 0x54]
xor al, 0x81
add al, 0x30
mov byte [esp + ecx - 0x54], al
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x429150
mov ecx, dword [0x44a4e0]
test ecx, ecx
je 0x4291b0
mov edx, dword [esp + 6]
xor edi, edi
mov eax, dword [0x44a4e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0xb430e561
je 0x4291a0
inc edi
cmp ecx, edi
jne 0x429190
jmp 0x4291b0
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x4294b6
nop
nop
nop
nop
jmp dword [0x445b64]
movzx edi, bl
jmp dword [0x445b68]
push esi
call fcn.00408100
add esp, 4
jmp dword [edi*4 + 0x445b80]
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x74]
lea ecx, [esi + eax]
add ecx, 0x17
test ecx, ecx
jns 0x429240
mov eax, 0xffffffff
jmp 0x429249
jmp dword [edi*4 + 0x445b80]
mov eax, dword [case.0x427dc1.157]
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x94]
add ecx, 4
lea edx, [esp + 8]
lea eax, [esp + 8]
mov dword [esp + 0x68], eax
mov ebx, dword [esp + 0x50]
lea edi, [ebx + 2]
mov dword [esp + 0x60], eax
mov dword [esp], eax
xor eax, eax
cmp ecx, 0xc
setne al
mov dword [esp + 0x4c], edi
jmp dword [eax*4 + 0x445ad8]
add eax, esi
lea eax, [eax*2 + 0x2e]
mov edi, dword [esp + 0x4c]
push eax
call fcn.004080f0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x429281
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x429270
mov word [eax], 0x5c
mov dword [esp + 6], 0xa80bd679
mov dword [esp + 0xa], 0xac08aa16
mov dword [esp + 0xe], 0xa013ae0c
mov dword [esp + 0x12], 0xa470a241
mov dword [esp + 0x16], 0xb818a611
mov dword [esp + 0x1a], 0xbc1aba0b
mov dword [esp + 0x1e], 0xb01abe1a
mov dword [esp + 0x22], 0xb40fb21d
mov dword [esp + 0x26], 0x8801b610
mov dword [esp + 0x2a], 0x8c378a2c
mov dword [esp + 0x2e], 0x802d8e29
mov word [esp + 0x32], 0x8281
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x3d
xor dl, byte [esp + ecx + 6]
add dl, 0x18
mov byte [esp + ecx + 6], dl
inc ecx
cmp ecx, 0x2e
jne 0x4292f0
add eax, 2
mov edx, dword [esp + 0x40]
movzx ecx, word [edx]
test cx, cx
je 0x429331
add edx, 2
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 0x429320
mov word [eax], 0
movzx ecx, word [esp + 6]
test cx, cx
je 0x429361
mov edx, dword [esp + 0x68]
nop
nop
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 0x429350
mov word [eax], 0
cmp esi, 0xfffffff7
jge 0x429380
mov eax, 0xffffffff
jmp 0x429387
mov eax, dword [esp + 0x64]
add eax, 0x12
push eax
call fcn.004080f0
add esp, 4
mov esi, eax
mov dword [esp + 6], 0xb914b7d9
mov dword [esp + 0xa], 0xbd2abb1f
mov dword [esp + 0xe], 0xa10cbf1b
mov dword [esp + 0x12], 0xa506a306
mov word [esp + 0x16], 0xa7a6
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x86
xor cl, byte [esp + eax + 6]
add cl, 0xd0
mov byte [esp + eax + 6], cl
inc eax
cmp eax, 0x12
jne 0x4293c0
mov edi, dword [esp + 0x40]
movzx ecx, word [edi]
mov eax, esi
test cx, cx
mov edx, dword [esp + 0x90]
je 0x429401
add edi, 2
mov eax, esi
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x4293f0
mov word [eax], 0
movzx ecx, word [esp + 6]
test cx, cx
je 0x429421
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429410
mov word [eax], 0
mov dword [esp + 6], 0x83736cf
mov edi, 0xb8d94fdd
mov ecx, 0x4726b022
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi + 0x4726b029]
mov eax, edi
and eax, edx
add eax, eax
sub eax, edx
add eax, ecx
and eax, edi
add al, al
sub dl, al
movzx eax, dl
add eax, edi
add al, 0x18
mov byte [esp + edi + 0x4726b029], al
inc edi
dec ecx
cmp edi, 0xb8d94fe1
jne 0x429440
push 0
push 0
push 0xc00000
push ebp
push ebx
push esi
push dword [esp + 0x124]
call fcn.00421e20
add esp, 0x1c
mov ecx, dword [esp + 0x48]
and cl, 1
or cl, al
mov dword [esp + 0x48], ecx
jmp dword [0x445b88]
push esi
call fcn.00408100
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x445b9c]
push dword [esp]
push 4
push eax
push dword [0x44a4e8]
call fcn.0043c7c0
add esp, 0x10
jmp dword [0x445b64]
xor ecx, ecx
lea edx, [esp + 8]
lea eax, [esp + 8]
mov dword [esp + 0x68], eax
mov ebx, dword [esp + 0x50]
lea edi, [ebx + 2]
mov dword [esp + 0x60], eax
mov dword [esp], eax
xor eax, eax
mov dword [esp + 0x48], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
mov dword [esp + 0x4c], edi
jmp dword [eax*4 + 0x445ad8]
jmp dword [0x445ae8]
jmp dword [0x445af0]
push ebx
call fcn.00408100
add esp, 4
jmp dword [0x445bcc]
jmp dword [0x445bcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x445bd0]
mov eax, dword [esp + 0x48]
and al, 1
mov ecx, dword [case.0x427dc1.82]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0xf8
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 6], 0x28ee5691
mov dword [esp + 0xa], 0x2c882a9a
mov dword [esp + 0xe], 0x209d2e92
mov dword [esp + 0x12], 0x24232285
mov eax, 0xcf73e0bd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x308c1f49]
mov ecx, eax
and ecx, edx
mov esi, ecx
and esi, 0xfffffffd
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
xor edi, 2
imul edi, esi
add ecx, edi
add edx, eax
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
add cl, 0x18
mov byte [esp + eax + 0x308c1f49], cl
inc eax
cmp eax, 0xcf73e0cd
jne 0x4295a0
lea edi, [esp + 0xa2]
lea edx, [esp + 6]
mov esi, edx
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xb2]
lea ebx, [esp + 0x16]
xor esi, esi
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 6], 0xc76fc580
mov dword [esp + 0xa], 0xcb69c97b
mov dword [esp + 0xe], 0xcf7ccd63
mov dword [esp + 0x12], 0xd391d174
mov dword [esp + 0x16], 0xd778d575
mov dword [esp + 0x1a], 0xdb68d979
mov dword [esp + 0x1e], 0xdfdedd65
xor ecx, ecx
nop
nop
nop
nop
movzx ebx, byte [edx]
mov ebp, esi
and ebp, 0xb57a4438
mov edi, ecx
xor edi, 0x2542dde3
sub edi, ebp
inc edi
xor edi, ebx
mov ebx, edi
not ebx
or ebx, 0xd5e910df
add ebx, edi
or edi, 0xd5e910df
add edi, ebx
inc edi
mov ebx, edi
and ebx, 1
xor edi, 1
lea ebx, [edi + ebx*2]
mov byte [edx], bl
inc edx
dec ecx
add esi, 0xfffffffe
cmp ecx, 0xffffffe4
jne 0x429650
lea edx, [esp + 0xc8]
lea esi, [esp + 6]
mov ecx, 7
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xe4]
lea ebx, [esp + 0x22]
xor esi, esi
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 6], 0xe278e0ab
mov dword [esp + 0xa], 0xe646e470
mov dword [esp + 0xe], 0xda4bd878
mov dword [esp + 0x12], 0xde6ddc7f
mov dword [esp + 0x16], 0xd293d06b
lea ebx, [esp + 0x1a]
mov word [esp + 0x1a], 0xd4d3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + esi + 6]
mov edi, esi
and edi, 0x15
mov ebp, esi
and ebp, 2
mov eax, ebp
xor eax, 2
imul eax, edi
or edi, 2
imul edi, ebp
mov ebp, esi
xor ebp, 0x976ed457
add ebp, eax
add ebp, edi
xor ebp, ecx
add ebp, 0x44895d47
mov ecx, ebp
xor ecx, 0xfe
or ebp, 1
and ecx, ebp
add ecx, ebp
mov byte [esp + esi + 6], cl
inc esi
cmp esi, 0x16
jne 0x429700
lea esi, [esp + 0xb2]
lea eax, [esp + 6]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc6]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0xa2]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], esi
jmp dword [0x445ad4]
mov dword [esp + 6], 0x28ee5691
mov dword [esp + 0xa], 0x2c882a9a
mov dword [esp + 0xe], 0x209d2e92
mov dword [esp + 0x12], 0x24232285
mov eax, 0xcf73e0bd
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x308c1f49]
mov ecx, eax
and ecx, edx
mov esi, ecx
and esi, 0xfffffffd
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
xor edi, 2
imul edi, esi
add ecx, edi
add edx, eax
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
add cl, 0x18
mov byte [esp + eax + 0x308c1f49], cl
inc eax
cmp eax, 0xcf73e0cd
jne 0x4297c0
lea edi, [esp + 0xa2]
lea edx, [esp + 6]
mov esi, edx
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xb2]
lea ebx, [esp + 0x16]
xor esi, esi
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 6], 0xc76fc580
mov dword [esp + 0xa], 0xcb69c97b
mov dword [esp + 0xe], 0xcf7ccd63
mov dword [esp + 0x12], 0xd391d174
mov dword [esp + 0x16], 0xd778d575
mov dword [esp + 0x1a], 0xdb68d979
mov dword [esp + 0x1e], 0xdfdedd65
xor ecx, ecx
nop
nop
nop
nop
movzx ebx, byte [edx]
mov ebp, esi
and ebp, 0xb57a4438
mov edi, ecx
xor edi, 0x2542dde3
sub edi, ebp
inc edi
xor edi, ebx
mov ebx, edi
not ebx
or ebx, 0xd5e910df
add ebx, edi
or edi, 0xd5e910df
add edi, ebx
inc edi
mov ebx, edi
and ebx, 1
xor edi, 1
lea ebx, [edi + ebx*2]
mov byte [edx], bl
inc edx
dec ecx
add esi, 0xfffffffe
cmp ecx, 0xffffffe4
jne 0x429870
lea edx, [esp + 0xc8]
lea esi, [esp + 6]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xe4]
lea ebx, [esp + 0x22]
xor esi, esi
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 6], 0xe278e0ab
mov dword [esp + 0xa], 0xe646e470
mov dword [esp + 0xe], 0xda4bd878
mov dword [esp + 0x12], 0xde6ddc7f
mov dword [esp + 0x16], 0xd293d06b
lea ebx, [esp + 0x1a]
mov word [esp + 0x1a], 0xd4d3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + esi + 6]
mov edi, esi
and edi, 0x15
mov ebp, esi
and ebp, 2
mov eax, ebp
xor eax, 2
imul eax, edi
or edi, 2
imul edi, ebp
mov ebp, esi
xor ebp, 0x976ed457
add ebp, eax
add ebp, edi
xor ebp, ecx
add ebp, 0x44895d47
mov ecx, ebp
xor ecx, 0xfe
or ebp, 1
and ecx, ebp
add ecx, ebp
mov byte [esp + esi + 6], cl
inc esi
cmp esi, 0x16
jne 0x429920
lea esi, [esp + 0xb2]
lea eax, [esp + 6]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc6]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0xa2]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], esi
jmp case.0x427dc1.96
jmp dword [0x445d18]
push dword [esp + 0x7c]
call fcn.00408100
add esp, 4
mov eax, dword [esp + 4]
and al, 1
jmp dword [0x445c0c]
lea edi, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor edx, edx
test al, al
je 0x429be2
mov ecx, edi
nop
cmp al, 0x22
je 0x429be0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x429bd0
jmp 0x429be2
mov edx, ecx
mov ecx, edx
sub ecx, edi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x445c40]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x445c58]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x445c60]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x445c68]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x445c70]
mov dword [esp + 0x6c], edx
mov ebx, ecx
inc ebx
mov dword [esp + 0x64], ecx
lea eax, [ecx + ecx + 2]
jns 0x429c4b
mov eax, 0xffffffff
push eax
call fcn.004080f0
add esp, 4
mov ebp, eax
push dword [esp + 0x6c]
push edi
push ebx
push eax
call fcn.0040a6f0
add esp, 0x10
lea eax, [esp + 0x18]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x78], ebp
push ebp
call fcn.0043e830
add esp, 0x14
not eax
shr eax, 0x1f
lea ebp, [esp + 0x1c]
jmp dword [eax*4 + 0x445c78]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
jmp dword [0x445cd8]
jmp dword [0x445ce0]
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x20]
call fcn.0043eb60
add esp, 0xc
test eax, eax
setns al
mov ebx, dword [esp + 0x74]
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445c80]
push ebx
call fcn.004080f0
add esp, 4
push 0
push ebx
mov dword [esp + 0x68], eax
push eax
push dword [esp + 0x24]
call fcn.0043ec30
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445c88]
xor edx, edx
mov ecx, dword [esp + 0x68]
jmp 0x429d10
add ecx, 2
mov edx, eax
test bx, bx
je 0x429d1f
movzx ebx, word [ecx]
mov eax, ecx
cmp bx, 0x5c
je 0x429d06
mov eax, edx
jmp 0x429d06
mov ecx, dword [case.0x429bee.23]
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445ca0]
mov dword [esp + 0x5c], 0
mov dword [esp + 0xc], 0
jmp dword [0x445ca8]
sub eax, dword [esp + 0x68]
mov ecx, eax
sar ecx, 1
and eax, 2
xor ecx, 1
add ecx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], ecx
sub eax, ecx
mov dword [esp + 0x5c], eax
jmp dword [0x445ca8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0x12131415
mov ecx, 0x5a
mov edx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 1
mov ebx, ecx
and ebx, 0x5e
or ebx, esi
xor bl, byte [esp + ecx - 0x3e]
xor bl, 0x81
add bl, 0x30
mov byte [esp + ecx - 0x3e], bl
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x429d90
mov ecx, dword [0x44a4e0]
test ecx, ecx
je case.0x429bee.34
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44a4e4]
cmp dword [edi + esi*8], 0xb430e561
je 0x429dd7
inc esi
cmp ecx, esi
jne 0x429dc7
jmp case.0x429bee.34
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x429bee.34
push eax
push 4
push ecx
push dword [0x44a4e8]
call fcn.0043c7c0
add esp, 0x10
jmp case.0x429bee.34
jmp dword [0x445cd4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0x12131415
mov ecx, 0x5a
mov edx, 1
nop
nop
nop
nop
mov esi, edx
and esi, 1
mov ebx, ecx
and ebx, 0x5e
or ebx, esi
xor bl, byte [esp + ecx - 0x3e]
xor bl, 0x81
add bl, 0x30
mov byte [esp + ecx - 0x3e], bl
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x429e20
mov ecx, dword [0x44a4e0]
test ecx, ecx
je 0x429e00
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44a4e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x429e70
inc esi
cmp ecx, esi
jne 0x429e60
jmp 0x429e00
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x429e00
push eax
push 4
push ecx
push dword [0x44a4e8]
call fcn.0043c7c0
add esp, 0x10
jmp dword [0x445cd4]
push dword [esp + 0x60]
call fcn.00408100
add esp, 4
jmp dword [0x445cc8]
mov ecx, dword [esp + 4]
and cl, 1
or cl, al
mov dword [esp + 4], ecx
lea ebp, [esp + 0x1c]
jmp dword [0x445cb8]
push dword [esp]
call fcn.00408100
add esp, 4
jmp dword [0x445cc0]
jmp dword [0x445cc0]
jmp dword [0x445cc8]
mov eax, 0x1b
mov ecx, dword [esp + 0x5c]
shr eax, cl
push eax
call fcn.004080f0
add esp, 4
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xc]
shl edx, cl
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 0x1c], 0xe8f6e80d
mov dword [esp + 0x20], 0xe5ebfdfa
mov dword [esp + 0x24], 0xe6082df8
mov dword [esp + 0x28], 0x3ce1f4fc
mov dword [esp + 0x2c], 0xf2e2fa1a
mov dword [esp + 0x30], 0x30fef8e8
mov word [esp + 0x34], 0x3237
mov byte [esp + 0x36], 0x5e
xor ebp, ebp
xor ecx, ecx
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 0x1c]
mov eax, ebp
and eax, 8
mov edx, ecx
xor edx, 0xf8d41064
add edx, eax
mov eax, edx
and eax, ebx
add eax, eax
sub edx, eax
add edx, ebx
mov eax, edx
not eax
and eax, 0x21
and edx, 0xde
sub edx, eax
inc dl
mov byte [esp + ecx + 0x1c], dl
inc ecx
add ebp, 2
cmp ecx, 0x1b
jne 0x429f40
mov eax, dword [esp + 0xc]
lea ecx, [edi + eax]
movzx edx, byte [esp + 0x1c]
mov eax, dword [esp]
test dl, dl
lea ebx, [esp + 0x1d]
je 0x429fa1
mov eax, dword [esp]
mov byte [eax], dl
inc eax
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x429f96
mov byte [eax], 0
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x429fd6
mov ebp, ebx
and ebp, 3
je 0x429fda
xor ebx, ebx
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + ebx], dl
inc ebx
cmp ebp, ebx
jne 0x429fb5
add eax, ebx
mov ebp, dword [esp + 8]
mov edx, ebp
sub edx, ebx
mov ebx, ebp
mov ebp, eax
jmp 0x429fdc
mov ebp, eax
jmp 0x42a01a
mov edx, ebx
cmp ebx, 4
jb 0x42a01a
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 ebp, [eax + 4]
mov byte [eax + 3], bl
mov eax, ebp
add edx, 0xfffffffc
jne 0x429fe1
mov byte [ebp], 0
mov ecx, dword [esp + 0xd8]
push dword [esp + 0x74]
push dword [esp + 0x64]
push dword [esp + 8]
call fcn.004090d0
mov eax, dword [esp + 0x5c]
add eax, 0x1b
push eax
call fcn.004080f0
add esp, 4
mov dword [esp], eax
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 0x1c], 0xe8f6e80d
mov dword [esp + 0x20], 0xe5ebfdfa
mov dword [esp + 0x24], 0xe6082df8
mov dword [esp + 0x28], 0x3ce1f4fc
mov dword [esp + 0x2c], 0xf2e2fa1a
mov dword [esp + 0x30], 0x30fef8e8
mov word [esp + 0x34], 0x3237
mov byte [esp + 0x36], 0x5e
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx + 0x1c]
mov ebp, ecx
and ebp, 8
mov ebx, edx
xor ebx, 0xf8d41064
add ebx, ebp
mov ebp, ebx
and ebp, eax
add ebp, ebp
sub ebx, ebp
add ebx, eax
mov eax, ebx
not eax
and eax, 0x21
and ebx, 0xde
sub ebx, eax
inc bl
mov byte [esp + edx + 0x1c], bl
inc edx
add ecx, 2
cmp edx, 0x1b
jne 0x42a0a0
mov eax, dword [esp + 0xc]
lea ecx, [edi + eax]
movzx ebx, byte [esp + 0x1c]
mov ebp, dword [esp]
mov edx, ebp
test bl, bl
lea eax, [esp + 0x1d]
je 0x42a102
mov edx, ebp
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x42a0f7
mov byte [edx], 0
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x42a143
mov eax, dword [esp + 0xc]
add eax, esi
mov ebp, dword [esp + 0x6c]
sub ebp, eax
add ebp, 0xfffffff5
mov dword [esp + 0x78], ebp
mov ebp, ebx
and ebp, 3
je 0x42a147
xor ebx, ebx
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + ebx], al
inc ebx
cmp ebp, ebx
jne 0x42a129
add edx, ebx
sub dword [esp + 8], ebx
mov ebx, edx
jmp 0x42a147
mov ebx, edx
jmp 0x42a187
cmp dword [esp + 0x78], 3
mov ebp, dword [esp + 8]
jb 0x42a187
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 1], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 2], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
lea ebx, [edx + 4]
mov byte [edx + 3], al
mov edx, ebx
add ebp, 0xfffffffc
jne 0x42a152
mov byte [ebx], 0
mov ecx, dword [esp + 0xd8]
push dword [esp + 0x74]
push dword [esp + 0x64]
push dword [esp + 8]
call fcn.004090d0
jmp dword [0x445cb0]
mov edi, esi
jmp dword [0x445cfc]
push edi
call fcn.00408100
add esp, 4
push edi
call fcn.00408100
add esp, 4
jmp dword [0x445cec]
mov dword [esp + 0x1c], 0x5c545e50
mov dword [esp + 0x20], 0x58515a54
mov word [esp + 0x24], 0x9da3
mov byte [esp + 0x26], 0xe0
mov eax, 0x1ef049c6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x1ef049aa]
xor edx, eax
mov ecx, edx
or ecx, 0xcf
add ecx, edx
not edx
or edx, 0xcf
add ecx, edx
add cl, 2
mov byte [esp + eax - 0x1ef049aa], cl
inc eax
cmp eax, 0x1ef049d1
jne 0x42a200
movzx ecx, byte [esp + 0x1c]
test cl, cl
je 0x42a270
mov eax, ebp
mov esi, edi
jmp 0x42a247
movzx ecx, byte [eax]
test cl, cl
je 0x42a282
movzx edx, byte [edi]
test dl, dl
je 0x42a280
inc edi
inc eax
lea ebx, [esi + 1]
cmp dl, cl
je 0x42a25b
mov esi, ebx
mov edi, ebx
je 0x42a240
lea eax, [esp + 0x1c]
jmp 0x42a240
mov esi, edi
jmp 0x42a282
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x445c38]
push dword [esp + 0x70]
call fcn.00408100
add esp, 4
jmp dword [0x445d08]
mov esi, dword [esp + 0x10]
lea eax, [esi + 1]
push eax
call fcn.004080f0
add esp, 4
push 0
push esi
mov dword [esp + 0x78], eax
push eax
push dword [esp + 0x20]
call fcn.0043ec30
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x445c20]
jmp dword [0x445d00]
jmp dword [0x445c28]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0
mov dword [esp + 4], 0
jmp dword [0x445c30]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0
mov eax, dword [esp + 0x10]
mov byte [edi + eax], 0
mov dword [esp + 4], 0
jmp dword [0x445c30]
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
lea ebp, [esp + 0x1c]
jmp dword [eax*4 + 0x445c18]
jmp dword [0x445d08]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], 0x12131415
mov ecx, 0x5a
mov edx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 1
mov ebx, ecx
and ebx, 0x5e
or ebx, esi
xor bl, byte [esp + ecx - 0x3e]
xor bl, 0x81
add bl, 0x30
mov byte [esp + ecx - 0x3e], bl
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x42a360
mov ecx, dword [0x44a4e0]
test ecx, ecx
je case.0x427dc1.239
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44a4e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x42a3b0
inc esi
cmp ecx, esi
jne 0x42a3a0
jmp case.0x427dc1.239
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x427dc1.239
push eax
push 4
push ecx
push dword [0x44a4e8]
call fcn.0043c7c0
add esp, 0x10
jmp case.0x427dc1.239
jmp dword [0x445d14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], 0x12131415
mov ecx, 0x5a
mov edx, 1
nop
nop
nop
nop
mov esi, edx
and esi, 1
mov ebx, ecx
and ebx, 0x5e
or ebx, esi
xor bl, byte [esp + ecx - 0x3e]
xor bl, 0x81
add bl, 0x30
mov byte [esp + ecx - 0x3e], bl
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x42a3f0
mov ecx, dword [0x44a4e0]
test ecx, ecx
je 0x42a3d0
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44a4e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x42a440
inc esi
cmp ecx, esi
jne 0x42a430
jmp 0x42a3d0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x42a3d0
push eax
push 4
push ecx
push dword [0x44a4e8]
call fcn.0043c7c0
add esp, 0x10
jmp dword [0x445d14]
lea eax, [esp + 0x10]
push 0
push eax
push dword [esp + 0x1c]
call fcn.0043eb60
add esp, 0xc
lea eax, [esp + 0x10]
push 0
push eax
push dword [esp + 0x1c]
call fcn.0043eb60
add esp, 0xc
jmp dword [0x445c10]
inc edx
add byte [edx + edi*2], cl
inc edx
add byte [ebp + 0x7c], al
inc edx
add byte [ebp + 0x7c], dl
inc edx
add byte [edx + 0x7f], dl
inc edx
add al, cl
jge 0x44598d
inc edx
add byte [edx + 0x7f], cl
inc edx
add byte [esi], al
jle 0x445995
add byte [eax], ch
jle 0x445999
add byte [edi], cl
jle 0x44599d
add byte [eax], ah
jle 0x4459a1
add byte [eax], ah
jle 0x4459a5
add byte [eax], ah
jle 0x4459a9
add byte [eax], ah
jle 0x4459ad
add byte [edx + 0x7f], cl
inc edx
add byte [ecx - 0x56ffbd82], cl
jg 0x4459b9
add byte [eax - 0x4fffbd81], dh
jg 0x4459c1
add byte [eax - 0x4dffbd81], dh
jg 0x4459c9
add byte [esi - 0x1bffbd7d], ah
jg 0x4459d1
add byte [ebp + 0x24004283], cl
add byte [edx], 0x30
add dword [edx], case.0x427dc1.20
and eax, 0x60004281
add byte [edx], 0x25
add dword [edx], case.0x427dc1.22
test byte [edx], al
and eax, 0x8e004281
add dword [edx], case.0x427dc1.24
test byte [edx], al
jnp 0x445936
inc edx
add byte [esp + eax*4 - 0x7b3cffbe], dh
inc edx
add al, ah
test byte [edx], al
add dword [ebp - 0x7b1fffbe], eax
test byte [edx], al
loopne 0x445942
inc edx
add byte [ecx], al
test dword [edx], eax
loopne 0x44594a
inc edx
add byte [esi + eax*4], al
inc edx
add byte [esi - 0x7b], al
inc edx
add byte [eax], dh
xchg byte [edx], al
inc esi
test dword [edx], eax
xor byte [ebp - 0x7a5dffbe], al
inc edx
add byte [esi], cl
test dword [edx], eax
mov byte [0xe004285], al
xchg byte [edx], al
and byte [esi - 0x79c7ffbe], al
inc edx
add byte [eax], ah
xchg byte [edx], al
lodsd eax, dword [esi]
xchg byte [edx], al
add dword [esi - 0x795effbe], 0x86600042
inc edx
add byte [ebp + 0x6f004286], ch
xchg byte [edx], al
mov edi, 0xd0004286
xchg byte [edx], al
lock xchg byte [edx], al
lock xchg byte [edx], al
lock xchg byte [edx], al
xacquire xchg byte [edx], al
jno 4479393
inc edx
add byte [ebx - 0x79], bh
inc edx
add byte [eax - 0x78], dl
inc edx
add byte [ebx - 0x7c], bh
inc edx
add byte [esi], ch
add dword [edx], case.0x427dc1.55
add dword cs:[edx], case.0x427dc1.19
add dword ss:[edx], case.0x427dc1.17
xchg edi, eax
add dword [edx], -90
add dword [edx], 0xffffff95
jle 0x445a8d
add byte [ebp + 0x2800427e], dl
add byte [eax], ch
test byte [edx], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
sub byte [edx + eax*2 + 0x100], al
add byte [eax], bh
test byte [edx], al
mov cl, 0x7e
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], ch
test byte [edx], al
add dword [eax], eax
add byte [eax], al
cmp byte [edx + eax*2 + 0x427eb100], al
add byte [ebx], bh
jg 0x445aad
add byte [eax + 0x7f], cl
inc edx
add byte [eax + 0x7f], dl
inc edx
add byte [eax + 0x7f], dl
inc edx
add byte [eax + 0x7f], dl
inc edx
add byte [edx + 0x7f], dl
inc edx
add byte [ecx + ecx*4 + 0x42], ch
add byte [ebx - 0x77], bh
inc edx
add byte [eax - 0x6fffbd77], dl
mov dword [edx], eax
nop
mov dword [edx], eax
bound edx, qword [ebp - 0x7645ffbe]
inc edx
add ch, ch
mov dword [edx], eax
ror byte [ecx - 0x761fffbe], 0x42
add al, dl
mov dword [edx], eax
invalid
mov dword [edx], eax
ror byte [ecx - 0x761fffbe], 1
inc edx
add al, ah
mov dword [edx], eax
loopne 0x445a47
inc edx
add dh, ah
mov dword [edx], eax
loopne 0x445a4f
inc edx
add byte [ebp + 0x6d004297], dl
xchg ebp, eax
inc edx
add byte [ebp - 0x2fffbd69], dl
xchg esp, eax
inc edx
add byte [eax], dl
xchg ebp, eax
inc edx
add byte [eax], al
mov al, byte [edx]
adc byte [ebp - 0x6aefffbe], dl
inc edx
add byte [esi], dl
xchg ebp, eax
inc edx
add byte [eax], dl
xchg ebp, eax
inc edx
add byte [edx*4 - 0x6ad4ffbe], bl
inc edx
add byte [esi - 0x34ffbd6f], dh
mov eax, dword [edx]
pushal
nop
inc edx
add ah, ch
mov eax, dword [edx]
and byte [edx + eax*2 + 0x428bf200], cl
add byte [eax], ah
mov word [edx], es
push edx
mov word [edx], es
aas
nop
inc edx
add byte [esp + ecx*4 + 0x42], ah
add byte [edi], bh
nop
inc edx
add byte [edi - 0x3dffbd74], cl
mov es, word [edx]
fmul dword [esi - 0x7017ffbe]
inc edx
add cl, dh
pop dword [edx]
adc byte [eax - 0x712dffbe], dl
inc edx
add byte [edx], ah
nop
inc edx
add byte [eax], dh
nop
inc edx
add byte [eax], dh
nop
inc edx
add byte [edi], bh
nop
inc edx
add byte [ebp - 0x70], al
inc edx
add byte [eax - 0x70], ah
inc edx
add byte [eax + 0x30004290], ah
xchg ecx, eax
inc edx
add byte [eax - 0x49ffbd70], ah
xchg ecx, eax
inc edx
add byte [edi - 0xfffbd6f], bh
xchg ecx, eax
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add al, dh
xchg ecx, eax
inc edx
add byte [ecx], al
add byte [eax], al
add bh, dh
xchg ecx, eax
inc edx
add bh, cl
xchg ecx, eax
inc edx
add byte [esi - 0x4fffbd6c], bl
xchg esp, eax
inc edx
add byte [eax - 0x4fffbd6c], dh
xchg esp, eax
inc edx
add byte [eax + 0x70004294], dh
nop
inc edx
add byte [esi - 0x70], dh
inc edx
add bh, dh
xchg ecx, eax
inc edx
add byte [eax + edx*4 + 0x42], bh
add byte [eax - 0x8ffbd70], dl
xchg ecx, eax
inc edx
add byte [eax + 0x4290], dl
xchg edx, eax
inc edx
add byte [eax], al
xchg edx, eax
inc edx
add byte [edx], al
xchg edx, eax
inc edx
add byte [eax], al
xchg edx, eax
inc edx
add byte [ecx], dh
xchg ebp, eax
inc edx
add byte [eax - 0x6b], al
inc edx
add byte [esi - 0x6b], al
inc edx
add byte [eax - 0x6b], al
inc edx
add byte [eax - 0x6b], ah
inc edx
add byte [eax - 0x6b], ah
inc edx
add byte [edx - 0x6b], ah
inc edx
add byte [eax - 0x6b], ah
inc edx
add byte [eax], cl
wait
inc edx
add byte [ecx + 0x4200429b], ah
wait
inc edx
add byte [edi - 0x65], dl
inc edx
add byte [edx - 0x65], cl
inc edx
add byte [ecx - 0x76ffbd65], ah
wait
inc edx
add byte [ebx + ebx*4 - 0x5b9fffbe], ch
inc edx
add byte [ebx - 0x5c], dh
inc edx
add byte [edx], ah
mov dword [0xa4600042], eax
inc edx
add byte [edx], bh
mov dword [0xa2a20042], eax
inc edx
add dl, bl
mov byte [0xa2e00042], al
inc edx
add dh, ah
mov byte [0xa3000042], al
inc edx
add al, dl
mov eax, dword [0xa3000042]
inc edx
add al, al
wait
inc edx
add dl, bl
mov byte [0x9bf50042], al
wait
wait
inc edx
add al, dl
mov eax, dword [0x10042]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
cmc
wait
inc edx
add byte [ecx], al
add byte [eax], al
add byte [0xd000429c], al
mov eax, dword [0x9c150042]
inc edx
add al, dl
mov eax, dword [0x9c250042]
inc edx
add al, dl
mov eax, dword [0x9c350042]
inc edx
add al, dl
mov eax, dword [0x9c900042]
inc edx
add byte [esp + ebx*4 - 0x612fffbe], ah
inc edx
add ch, dl
pushfd
inc edx
add dl, cl
sahf
inc edx
add dh, bh
pushfd
inc edx
add byte [0x2500429d], ah
popfd
inc edx
add byte [0x2700429d], ah
popfd
inc edx
add byte [0x4b00429d], dh
popfd
inc edx
add byte [esi], dh
mov al, byte [0x9ed60042]
inc edx
add byte [edx - 0x29ffbd62], ah
sahf
inc edx
add byte [ecx - 0x35ffbd62], bh
sahf
inc edx
add byte [eax - 0x2fffbd62], dl
sahf
inc edx
add byte [esi], al
sahf
inc edx
add byte [edi - 0x63], ch
inc edx
add byte [esi], al
sahf
inc edx
add byte [eax - 0x61ffbd64], dl
pushfd
inc edx
add byte [eax - 0x3effbd5f], dh
mov eax, dword [0xa1b80042]
inc edx
add byte [eax - 0x4fffbd5f], bh
mov eax, dword [0xa1b00042]
inc edx
add byte [eax - 0x4fffbd5f], dh
mov eax, dword [0xa1d00042]
inc edx
add byte [eax + 0x3a0042a2], dl
mov dword [0xa3d60042], eax
inc edx
add byte [eax - 0x5d], al
inc edx
add dh, dl
mov dword [0x9b890042], eax
inc edx
add byte [edi - 0x64ffbd65], cl
wait
inc edx
add byte [edi - 0x34], bl
add byte [ebp - 0x7ff9922], dh
fbld tbyte [esi]
pavgb mm4, qword [esi]
sbb ah, al
add byte [edx], bl
loopne 0x445d9d
add byte [ebx - 0x20], dl
add byte [esi], al
loop 0x445da5
add byte [edx + 0x400066e2], bh
loop 0x445dad
add byte [ecx], ah
jecxz 0x445db1
add cl, dh
loope 0x445db5
add ch, bh
in al, 0x66
add byte [ebp - 0x1a], dh
add byte [esi - 0x63ff991a], bl
out 0x66, al
add byte [esi - 0x20], cl
add byte [esi], ch
call 0xe8d95dd0
add al, dh
call 0xe7fd5dd8
add al, dh
call 0xebde5de0
add byte [ebp + 0x610066eb], dl
fsub qword [esi]
popal
fsub qword [esi]
mov dword [0x650066dc], eax
frstor dword [esi]
enter 0x66dc, 0
add byte [ebp - 0x23], ah
add al, cl
fsub qword [esi]
mov edi, 0xf70066dd
fsub qword [esi]
pmaxub mm4, qword [esi]
fisub word [esi]
xor eax, 0x5f0066dc
fisub word [esi]
ja 0x445d88
add byte [eax + 0x6a0066de], ah
fisub word [esi]
push 0xfffffffffffffff2
add byte [eax + 0x250066de], ah
add byte [eax + 0x250066de], ah
fisub word [esi]
and eax, 0x770066d8
int3
fsub dword [esi]
ja 0x445d8a
add byte [edi - 0x34], dh
add byte [ebp - 0x37ff9934], ah
int3