Function at 0x429aba
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e0
call fcn.00409570
mov dword [esp + 0x11e0], 0x21d427c0
mov dword [esp + 0x11e4], 0xdddb23df
mov dword [esp + 0x11e8], 0xd933df27
mov dword [esp + 0x11ec], 0xd528db34
mov dword [esp + 0x11f0], 0xd132d73f
mov dword [esp + 0x11f4], 0xcd3fd33f
mov dword [esp + 0x11f8], 0xc93ccf33
mov word [esp + 0x11fc], 0xcbc8
mov dword [esp + 0x11fe], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x11e0]
mov edx, eax
and edx, 0x39
mov esi, eax
and esi, 6
mov edi, eax
xor edi, 0x60b54679
add edi, eax
sub edi, esi
add edi, edx
mov edx, edi
or edx, ecx
and edi, ecx
sub edx, edi
add dl, 0xa3
mov byte [esp + eax + 0x11e0], dl
mov ecx, eax
xor ecx, 0x7ffffffe
mov edx, eax
or edx, 1
and edx, ecx
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 0x22
jb case.default.0x4246dd
lea eax, [esp + 0x10]
lea esi, [esp + 0x11e0]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.00440ce0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x447560]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x34]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x30]
call fcn.00441170
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447568]
xor eax, eax
jmp 0x425f65
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x14], 0
cmp ecx, dword [esp + 0x34]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x447570]
mov word [esi], 0
mov eax, dword [esp + 0x14]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x447578]
jmp dword [0x44765c]
movzx ecx, word [esp + 0x11e0]
xor edi, edi
test cx, cx
je 0x425d4b
lea eax, [esp + 0x11e2]
jmp 0x425d1c
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x34]
setb al
jmp dword [eax*4 + 0x447570]
mov edi, dword [esp + 0x58]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4247a3
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x48], edi
mov edi, eax
jmp dword [0x447584]
mov ecx, dword [esp + 0x54]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4475b0]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + ecx + 0x5c]
mov dword [esp + 4], eax
mov dword [esp + 0x70], 0x17461948
mov dword [esp + 0x74], 0x13421544
mov dword [esp + 0x78], 0xf5e1140
mov dword [esp + 0x7c], 0xb620d5c
mov word [esp + 0x80], 0x908
lea eax, [esp + 0x110]
mov byte [eax - 0x8c], 0
mov word [eax - 0x8e], 0
mov ecx, 0x231bf486
mov edx, 0x1ce40b79
nop
nop
nop
movzx edi, byte [esp + ecx - 0x231bf416]
mov eax, ecx
and eax, 0x220144b9
mov ebx, edx
and ebx, 0x10a00006
or ebx, eax
xor ebx, edi
xor ebx, 0xae454ff9
lea eax, [edx - 0x1ce40b00]
mov esi, edi
not esi
or esi, eax
and eax, edi
or eax, ebx
add esi, edi
mov ebx, 0xfffffffe
sub ebx, esi
and ebx, eax
mov ebp, 0x60
sub ebp, ebx
lea edi, [ebx - 0x10743961]
or edi, 1
sub edi, ebx
mov esi, 2
sub esi, edi
add edi, 0x10743961
and esi, 2
mov eax, edi
and eax, 0xfd
imul eax, esi
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
and ebp, 0xfe
and ebx, 1
or ebx, ebp
xor ebx, 1
add ebx, eax
add ebx, edi
mov byte [esp + ecx - 0x231bf416], bl
inc ecx
dec edx
cmp ecx, 0x231bf49b
jne 0x424830
mov eax, dword [esp + 4]
movzx ecx, word [eax]
lea esi, [esp + 0xfe0]
test cx, cx
je 0x4248f1
add eax, 2
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x4248e0
mov word [esi], 0
movzx eax, word [esp + 0x70]
test ax, ax
je 0x424921
lea ecx, [esp + 0x72]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424910
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x38], esi
jmp dword [eax*4 + 0x4475b8]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x4475b8]
mov word [esi - 2], di
lea eax, [esp + 0x2c]
lea ecx, [esp + 0xfe0]
push dword [esp + 0x30]
push 0
push 0x20019
push eax
push ecx
call fcn.00440ce0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4475c0]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], 0x800
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [0x4475cc]
lea eax, [esp + 0xc]
lea ecx, [esp + 0xbe0]
lea edx, [esp + 0x40]
lea esi, [esp + 0x44]
lea edi, [esp + 0x70]
push eax
push ecx
push edx
push esi
push edi
push ebx
push dword [esp + 0x44]
call fcn.004414f0
add esp, 0x1c
lea eax, [esp + 0xc]
lea esi, [esp + 0xbe0]
lea ecx, [esp + 0x40]
lea edx, [esp + 0x44]
push eax
push esi
push ecx
push edx
lea eax, [esp + 0x80]
push eax
push ebx
push dword [esp + 0x44]
call fcn.004414f0
add esp, 0x1c
jmp dword [0x4475d0]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4475d8]
test byte [esp + 8], 1
sete cl
mov eax, dword [esp + 0x40]
cmp eax, 1
sete dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x4475e0]
jmp dword [0x447604]
mov dword [esp + 4], ebx
mov dword [esp + 0x18], 0xb95fbb43
mov dword [esp + 0x1c], 0xbd2fbf5d
mov dword [esp + 0x20], 0xb120b337
mov dword [esp + 0x24], 0xb5b6b724
lea ecx, [esp + 0x28]
mov byte [ecx + 2], 0
mov word [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x18]
mov esi, ecx
and esi, 0x1d
mov edi, ecx
and edi, 2
mov ebx, ecx
or ebx, 2
imul ebx, edi
xor edi, 2
imul edi, esi
add ebx, edi
mov esi, ecx
xor esi, 0x57eb3fdf
mov edi, ebx
and edi, esi
xor esi, ebx
lea esi, [esi + edi*2]
xor esi, edx
mov edx, esi
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
add dl, 0xa4
mov byte [esp + ecx + 0x18], dl
lea edx, [ecx + 1]
mov ecx, edx
cmp edx, 0x13
jne 0x424a80
movzx edi, word [esp + 0x18]
lea ebx, [esp + 0x70]
test di, di
je 0x424b1d
lea ecx, [esp + 0x70]
lea ebp, [esp + 0x18]
mov ebx, ecx
jmp 0x424af9
movzx edi, word [ebp]
test di, di
je 0x424b1d
movzx esi, word [ecx]
test si, si
je 0x424b1b
add ecx, 2
add ebp, 2
lea edx, [ebx + 2]
cmp si, di
je 0x424b13
mov ebx, edx
mov ecx, edx
je 0x424af0
lea ebp, [esp + 0x18]
jmp 0x424af0
xor ebx, ebx
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x4475e8]
mov ebx, dword [esp + 4]
jmp dword [0x447604]
jmp dword [0x44760c]
jmp dword [0x44760c]
xor ecx, ecx
cmp eax, 3
sete cl
jmp dword [ecx*4 + 0x447610]
mov eax, dword [case.0x424f9d.24]
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x18], 0x21c527d4
mov dword [esp + 0x1c], 0xddaf23ad
mov dword [esp + 0x20], 0xd94fdf55
mov dword [esp + 0x24], 0xd546db4a
mov dword [esp + 0x28], 0xd7d4
mov eax, 0x937cd579
mov ecx, 0x86
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x6c832a9f]
mov esi, eax
or esi, edx
not edx
or edx, ecx
and edx, esi
mov esi, edx
and esi, 1
xor edx, 1
add edx, 0xa2
or edx, esi
add edx, esi
mov byte [esp + eax + 0x6c832a9f], dl
inc eax
dec ecx
cmp eax, 0x937cd58d
jne 0x424ba0
movzx edi, word [esp + 0x18]
lea eax, [esp + 0x70]
test di, di
je 0x424c29
lea ecx, [esp + 0x70]
lea edx, [esp + 0x18]
mov eax, ecx
jmp 0x424bf8
movzx edi, word [edx]
test di, di
je 0x424c29
movzx ebp, word [ecx]
test bp, bp
je 0x424c27
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bp, di
je 0x424c12
mov eax, esi
mov ecx, esi
je 0x424bf0
lea edx, [esp + 0x18]
jmp 0x424bf0
mov esi, dword [esp]
mov ebx, dword [esp + 4]
jmp dword [0x4475f0]
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447618]
inc ebx
jmp dword [0x4475cc]
mov eax, dword [esp + 0xc]
cmp eax, 2
jae 0x424c4f
mov esi, dword [esp]
jmp 0x424cf4
shr eax, 1
lea edx, [eax - 1]
mov edi, eax
lea ecx, [esp + 0xbe0]
and edi, 3
mov esi, dword [esp]
je 0x424c97
mov dword [esp + 0x14], edx
mov dword [esp + 4], ebx
xor ebp, ebp
nop
mov edx, esi
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [edx], si
mov esi, edx
add esi, 2
inc ebp
cmp edi, ebp
jne 0x424c70
sub eax, ebp
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x14]
cmp edx, 3
jb 0x424cf4
mov ebp, ebx
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [esi], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 4], cx
movzx edx, word [ebx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x424ca0
mov ebx, ebp
mov word [esi], 0xa
add esi, 2
mov dword [esp], esi
mov al, 1
mov dword [esp + 0x14], eax
inc ebx
jmp dword [0x4475cc]
mov eax, dword [esp + 0xc]
mov ecx, esi
cmp eax, 2
jb 0x424d70
shr eax, 1
lea ebp, [eax - 1]
mov edi, eax
lea edx, [esp + 0xbe0]
and edi, 3
je 0x424de4
mov dword [esp + 8], ebp
xor ebp, ebp
mov ecx, esi
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
lea edx, [edx + ebx*2]
mov word [ecx], si
add ecx, 2
inc ebp
cmp edi, ebp
jne 0x424d40
sub eax, ebp
mov esi, dword [esp]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
cmp ebp, 3
jae 0x424df0
nop
mov dword [ecx], 0x20003a
jmp dword [0x4475fc]
mov eax, dword [esp + 0xc]
mov ecx, esi
cmp eax, 2
jb 0x424ed9
shr eax, 1
lea ebp, [eax - 1]
mov edi, eax
and edi, 3
je 0x424e68
mov dword [esp + 8], ebp
xor ebp, ebp
lea edx, [esp + 0xbe0]
mov ecx, esi
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
lea edx, [edx + ebx*2]
mov word [ecx], si
add ecx, 2
inc ebp
cmp edi, ebp
jne 0x424db0
sub eax, ebp
mov esi, dword [esp]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
cmp ebp, 3
jae 0x424e80
jmp 0x424ed9
mov ecx, esi
cmp ebp, 3
jb 0x424d70
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
lea edi, [edx + ebx*2]
mov word [ecx], si
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [edi + ebx*2]
mov word [ecx + 2], dx
movzx edx, word [edi + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [esi + ebx*2]
mov word [ecx + 4], dx
movzx esi, word [esi + ebx*2]
xor edx, edx
test si, si
setne dl
mov word [ecx + 6], si
add ecx, 8
lea edx, [edi + edx*2]
add eax, 0xfffffffc
jne 0x424df0
mov esi, dword [esp]
mov ebx, dword [esp + 4]
mov dword [ecx], 0x20003a
jmp dword [0x4475fc]
add ecx, 4
mov al, 1
mov dword [esp + 8], eax
inc ebx
mov dword [esp], ecx
jmp dword [0x4475cc]
mov ecx, esi
lea edx, [esp + 0xbe0]
cmp ebp, 3
jb 0x424ed9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
lea edi, [edx + ebx*2]
mov word [ecx], si
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [edi + ebx*2]
mov word [ecx + 2], dx
movzx edx, word [edi + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [esi + ebx*2]
mov word [ecx + 4], dx
movzx esi, word [esi + ebx*2]
xor edx, edx
test si, si
setne dl
mov word [ecx + 6], si
add ecx, 8
lea edx, [edi + edx*2]
add eax, 0xfffffffc
jne 0x424e80
mov esi, dword [esp]
mov ebx, dword [esp + 4]
mov dword [ecx], 0x20003a
jmp case.0x424f9d.14
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], 0xb4b58a8b
mov byte [esp + 0x1c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x1e
xor dl, byte [esp + ecx + 0x18]
add dl, 0x6a
mov byte [esp + ecx + 0x18], dl
inc ecx
cmp ecx, 5
jne 0x424f10
mov ecx, dword [0x44d398]
test ecx, ecx
je 0x424f60
mov edx, dword [esp + 0x18]
xor edi, edi
mov ebx, dword [0x44d39c]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x424f50
inc edi
cmp ecx, edi
jne 0x424f40
jmp 0x424f60
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x424f72
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x3c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x38]
jmp dword [eax*4 + 0x4475b8]
push eax
push 4
push ecx
push dword [0x44d3a0]
call fcn.0043dc10
add esp, 0x10
mov edi, dword [esp + 0x3c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x38]
jmp dword [eax*4 + 0x4475b8]
push edi
call fcn.004095b0
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x34]
setb al
jmp dword [eax*4 + 0x447570]
mov eax, dword [case.0x4246dd.12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4475a8]
mov dword [esp + 0x4c], edi
mov dword [esp], esi
mov dword [esp + 0x70], 0x97d0b5f
mov dword [esp + 0x74], 0x5880775
mov dword [esp + 0x78], 0x18f0375
mov dword [esp + 0x7c], 0x1d641f71
mov dword [esp + 0x80], 0x197e1b90
mov dword [esp + 0x84], 0x15611771
mov dword [esp + 0x88], 0x116e1366
mov dword [esp + 0x8c], 0x2da72f61
mov dword [esp + 0x90], 0x290a2ba1
mov dword [esp + 0x94], 0x255d277b
mov dword [esp + 0x98], 0x21af23a9
mov dword [esp + 0x9c], 0x3d473f5f
mov dword [esp + 0xa0], 0x39483b4b
mov dword [esp + 0xa4], 0x35163741
mov dword [esp + 0xa8], 0x31b93359
mov dword [esp + 0xac], 0x4dc34f4e
mov dword [esp + 0xb0], 0x49c74bcb
mov dword [esp + 0xb4], 0x453d47c4
mov dword [esp + 0xb8], 0x41264337
mov dword [esp + 0xbc], 0x5dd05f10
mov dword [esp + 0xc0], 0x59205b2d
mov dword [esp + 0xc4], 0x5522572f
mov dword [esp + 0xc8], 0x51df532f
mov dword [esp + 0xcc], 0x6d296f34
mov dword [esp + 0xd0], 0x69236b21
mov dword [esp + 0xd4], 0x653b6723
mov dword [esp + 0xd8], 0x6138633e
mov dword [esp + 0xdc], 0x7d327f50
mov dword [esp + 0xe0], 0x79377b33
mov dword [esp + 0xe4], 0x75397737
mov dword [esp + 0xe8], 0x710e733b
mov dword [esp + 0xec], 0x8dd08f3d
mov dword [esp + 0xf0], 0x89c28bc4
mov dword [esp + 0xf4], 0x85b687d7
mov dword [esp + 0xf8], 0x81cd83b4
mov dword [esp + 0xfc], 0x9dd29fb0
mov dword [esp + 0x100], 0x99d49bc2
mov dword [esp + 0x104], 0x95dc97c7
mov dword [esp + 0x108], 0x91db93de
mov dword [esp + 0x10c], 0xadcaafda
mov dword [esp + 0x110], 0xabac
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x70]
lea edx, [eax + 0x5fada103]
and edx, ecx
lea esi, [eax + ecx]
add esi, 0x5fada103
add edx, edx
sub esi, edx
mov edx, 0xa0525efc
sub edx, eax
or edx, esi
mov edi, edx
not edi
mov esi, edx
and esi, 2
or edx, 2
inc edx
imul edx, esi
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
sub edx, edi
add edx, eax
add edx, 0x5fada103
add dl, cl
add dl, 0xf1
mov byte [esp + eax + 0x70], dl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0xa4
jb 0x4251c0
lea edi, [esp + 0x872]
lea eax, [esp + 0x70]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x110]
mov eax, edx
lea edi, [esp + 0x912]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x70], 0x4fd749f5
mov dword [esp + 0x74], 0x43d44deb
mov dword [esp + 0x78], 0x47d141d3
mov dword [esp + 0x7c], 0xbb2045d7
mov dword [esp + 0x80], 0xbf12b92c
mov dword [esp + 0x84], 0xb32bbd17
mov dword [esp + 0x88], 0xb712b122
mov dword [esp + 0x8c], 0xab21b527
mov dword [esp + 0x90], 0xafcea93f
mov dword [esp + 0x94], 0xa316ad1e
mov dword [esp + 0x98], 0xa7e1a10c
mov dword [esp + 0x9c], 0x9b0ca531
mov dword [esp + 0xa0], 0x9f3b990e
mov dword [esp + 0xa4], 0x93069d0e
mov dword [esp + 0xa8], 0x9733913a
mov dword [esp + 0xac], 0x8b1d9502
mov dword [esp + 0xb0], 0x8f1d8911
mov dword [esp + 0xb4], 0x832e8d1e
mov dword [esp + 0xb8], 0x871f812b
mov dword [esp + 0xbc], 0xfb5e8516
mov dword [esp + 0xc0], 0xff75f96b
mov dword [esp + 0xc4], 0xf392fd6b
mov dword [esp + 0xc8], 0xf753f14d
mov dword [esp + 0xcc], 0xeb7df563
mov dword [esp + 0xd0], 0xef75e949
mov dword [esp + 0xd4], 0xe370ed75
mov dword [esp + 0xd8], 0xe786e17b
mov dword [esp + 0xdc], 0xdb4fe553
mov dword [esp + 0xe0], 0xdf49d97e
mov dword [esp + 0xe4], 0xd345dd55
mov dword [esp + 0xe8], 0xd773d144
mov dword [esp + 0xec], 0xcb66d549
mov dword [esp + 0xf0], 0xcf58c978
mov dword [esp + 0xf4], 0xc358cd5f
mov dword [esp + 0xf8], 0xc75ac159
mov dword [esp + 0xfc], 0x3badc561
mov dword [esp + 0x100], 0x3f8d3994
mov dword [esp + 0x104], 0x33a63da9
mov dword [esp + 0x108], 0x37a531ac
mov dword [esp + 0x10c], 0x2bb535a7
mov dword [esp + 0x110], 0x2f672984
mov dword [esp + 0x114], 0x23692d7b
mov dword [esp + 0x118], 0x27612175
mov dword [esp + 0x11c], 0x1ba0259e
mov dword [esp + 0x120], 0x1f4a1948
mov dword [esp + 0x124], 0x13451d4d
mov dword [esp + 0x128], 0x17471141
mov dword [esp + 0x12c], 0xbae1545
mov dword [esp + 0x130], 0xf48095f
mov dword [esp + 0x134], 0x34a0d44
mov dword [esp + 0x138], 0x7560141
mov dword [esp + 0x13c], 0x7b2b0554
mov dword [esp + 0x140], 0x7f2a7928
mov dword [esp + 0x144], 0x73247d3a
mov dword [esp + 0x148], 0x773c7131
mov dword [esp + 0x14c], 0x6b21753e
mov dword [esp + 0x150], 0x6fc26922
mov word [esp + 0x154], 0x6d6c
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov eax, 0x12
mov ecx, 0xd
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0xe8
mov edx, eax
and edx, 0x17
or edx, esi
xor dl, byte [esp + eax + 0x5e]
xor dl, 0xe8
add dl, 0x46
mov byte [esp + eax + 0x5e], dl
inc eax
dec ecx
cmp eax, 0xfd
jne 0x4254e0
lea edi, [esp + 0x914]
lea eax, [esp + 0x70]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x154]
lea edi, [esp + 0x9f8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x70], 0xf770955
mov dword [esp + 0x74], 0x3740d6b
mov dword [esp + 0x78], 0x7710173
mov dword [esp + 0x7c], 0x1b600577
mov dword [esp + 0x80], 0x1f72196c
mov dword [esp + 0x84], 0x13681d4f
mov dword [esp + 0x88], 0x176f116a
mov dword [esp + 0x8c], 0x2b4f1573
mov dword [esp + 0x90], 0x2f1f2944
mov dword [esp + 0x94], 0x23102d1b
mov dword [esp + 0x98], 0x274a2110
mov dword [esp + 0x9c], 0x3b4f2577
mov dword [esp + 0xa0], 0x3f42394c
mov dword [esp + 0xa4], 0x33413d4f
mov dword [esp + 0xa8], 0x375a314f
mov dword [esp + 0xac], 0x4b3c3564
mov dword [esp + 0xb0], 0x4f34493b
mov dword [esp + 0xb4], 0x433e4d35
mov dword [esp + 0xb8], 0x47314125
mov dword [esp + 0xbc], 0x5b094528
mov dword [esp + 0xc0], 0x5f2a592d
mov dword [esp + 0xc4], 0x53215d20
mov dword [esp + 0xc8], 0x57295123
mov dword [esp + 0xcc], 0x6b235538
mov dword [esp + 0xd0], 0x6f25695f
mov dword [esp + 0xd4], 0x63256d59
mov dword [esp + 0xd8], 0x673c613a
mov dword [esp + 0xdc], 0x7b4e6554
mov dword [esp + 0xe0], 0x7f497949
mov dword [esp + 0xe4], 0x73437d4d
mov dword [esp + 0xe8], 0x77127141
mov dword [esp + 0xec], 0x8bcc7543
mov dword [esp + 0xf0], 0x8fc689c0
mov dword [esp + 0xf4], 0x83b28dcd
mov dword [esp + 0xf8], 0x87b781b0
mov dword [esp + 0xfc], 0x9bae85b4
mov dword [esp + 0x100], 0x9fa899de
mov dword [esp + 0x104], 0x93d89ddd
mov dword [esp + 0x108], 0x97dd91da
mov dword [esp + 0x10c], 0xabc695de
mov word [esp + 0x110], 0xa9a8
lea eax, [esp + 0x110]
mov word [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
xor ecx, ecx
mov esi, eax
and esi, 4
mov edx, ecx
xor edx, 2
add edx, esi
xor dl, byte [esp + ecx + 0x70]
add dl, 0xf6
mov byte [esp + ecx + 0x70], dl
inc ecx
add eax, 2
cmp ecx, 0xa8
jne 0x425700
lea edi, [esp + 0xb3e]
lea eax, [esp + 0x70]
mov ebp, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x110]
mov ecx, 1
lea edi, [esp + 0xbde]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x70], 0xf1a50fc3
mov dword [esp + 0x74], 0xf560f355
mov dword [esp + 0x78], 0xf963f765
mov dword [esp + 0x7c], 0xfd5cfb69
mov dword [esp + 0x80], 0xe142ff68
mov dword [esp + 0x84], 0xe544e351
mov dword [esp + 0x88], 0xe94de742
mov dword [esp + 0x8c], 0xed4deb4d
mov dword [esp + 0x90], 0xd13def50
mov dword [esp + 0x94], 0xd53cd304
mov dword [esp + 0x98], 0xd96ad704
mov dword [esp + 0x9c], 0xdd4ddb69
mov dword [esp + 0xa0], 0xc172df48
mov dword [esp + 0xa4], 0xc553c351
mov dword [esp + 0xa8], 0xc97ac769
mov dword [esp + 0xac], 0xcd58cb78
mov dword [esp + 0xb0], 0xb168cf5d
mov dword [esp + 0xb4], 0xb51eb31b
mov dword [esp + 0xb8], 0xb923b713
mov dword [esp + 0xbc], 0xbd0bbb04
mov dword [esp + 0xc0], 0xa12abf2b
mov dword [esp + 0xc4], 0xa533a30c
mov dword [esp + 0xc8], 0xa90ba735
mov dword [esp + 0xcc], 0xad71ab14
mov dword [esp + 0xd0], 0x9177af79
mov dword [esp + 0xd4], 0x95579347
mov dword [esp + 0xd8], 0x99509752
mov dword [esp + 0xdc], 0x9d4e9b48
mov dword [esp + 0xe0], 0x814b9f4f
mov dword [esp + 0xe4], 0x85518353
mov dword [esp + 0xe8], 0x89228757
mov dword [esp + 0xec], 0x8d488b5d
mov dword [esp + 0xf0], 0x71568f54
mov dword [esp + 0xf4], 0x75a273b3
mov dword [esp + 0xf8], 0x79a577a4
mov dword [esp + 0xfc], 0x7dae7ba8
mov dword [esp + 0x100], 0x61ac7fbe
mov dword [esp + 0x104], 0x65b463a3
mov dword [esp + 0x108], 0x69bf67b2
mov dword [esp + 0x10c], 0x6dd66bbe
mov word [esp + 0x110], 0x6f6c
mov dword [esp + 0x112], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xfd
xor cl, byte [esp + eax + 0x70]
add cl, 0xf
mov byte [esp + eax + 0x70], cl
inc eax
cmp eax, 0xa6
jne 0x425920
lea eax, [esp + 0xa9c]
lea edx, [esp + 0x70]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x110]
lea edi, [esp + 0xb3c]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x70], 0x59a55b97
mov dword [esp + 0x74], 0x5da85fbd
mov dword [esp + 0x78], 0x51a753ad
mov dword [esp + 0x7c], 0x55ac57a1
mov dword [esp + 0x80], 0x69866ba0
mov dword [esp + 0x84], 0x6d946fb9
mov dword [esp + 0x88], 0x619d6396
mov dword [esp + 0x8c], 0x659d6785
mov dword [esp + 0x90], 0x794d7b88
mov dword [esp + 0x94], 0x7d4c7fb3
mov dword [esp + 0x98], 0x719e734c
mov dword [esp + 0x9c], 0x75fd77a1
mov dword [esp + 0xa0], 0x9f60b80
mov dword [esp + 0xa4], 0xdff0ff9
mov dword [esp + 0xa8], 0x1ee03f1
mov dword [esp + 0xac], 0x5f007d0
mov dword [esp + 0xb0], 0x19e01bf5
mov dword [esp + 0xb4], 0x1de21fe7
mov dword [esp + 0xb8], 0x11e713e7
mov dword [esp + 0xbc], 0x15c717fc
mov dword [esp + 0xc0], 0x29de2b9f
mov dword [esp + 0xc4], 0x2ddf2fd4
mov dword [esp + 0xc8], 0x21df23dd
mov dword [esp + 0xcc], 0x25e927cc
mov dword [esp + 0xd0], 0x39f33b11
mov dword [esp + 0xd4], 0x3dfb3ff3
mov dword [esp + 0xd8], 0x31e833e6
mov dword [esp + 0xdc], 0x35023700
mov dword [esp + 0xe0], 0xc9ffcb03
mov dword [esp + 0xe4], 0xcdf9cfff
mov dword [esp + 0xe8], 0xc126c3fb
mov dword [esp + 0xec], 0xc500c7f5
mov dword [esp + 0xf0], 0xd912db0c
mov dword [esp + 0xf4], 0xddeedf1f
mov dword [esp + 0xf8], 0xd1e5d3ec
mov dword [esp + 0xfc], 0xd5e2d7e0
mov dword [esp + 0x100], 0xe9dceb12
mov dword [esp + 0x104], 0xed24ef2f
mov dword [esp + 0x108], 0xe12be326
mov dword [esp + 0x10c], 0xe50ae72a
mov word [esp + 0x110], 0xfbe4
lea ecx, [esp + 0x110]
mov word [ecx + 6], 0
mov dword [ecx + 2], 0
mov ecx, 0x8c405e8f
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x73bfa1e1]
xor edx, ecx
lea esi, [edx + edx]
mov edi, esi
and edi, 0x68
xor edx, 0x34
add edx, edi
and esi, 2
xor edx, 1
add edx, esi
mov byte [esp + ecx + 0x73bfa1e1], dl
inc ecx
cmp ecx, 0x8c405f37
jne 0x425b40
mov dword [esp + 0x50], ebx
lea edx, [esp + 0x9fa]
lea esi, [esp + 0x70]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x110]
lea edi, [esp + 0xa9a]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x872]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x914]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x4475b0]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x70], 0xb4b58a8b
mov byte [esp + 0x74], 0
mov esi, dword [esp]
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x1e
xor cl, byte [esp + edx + 0x70]
add cl, 0x6a
mov byte [esp + edx + 0x70], cl
inc edx
cmp edx, 5
jne 0x425c00
mov ecx, dword [0x44d398]
test ecx, ecx
je 0x425c60
mov edx, dword [esp + 0x70]
xor edi, edi
mov ebx, dword [0x44d39c]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x425c40
inc edi
cmp ecx, edi
jne 0x425c30
jmp 0x425c60
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x425c60
push eax
push 4
push ecx
push dword [0x44d3a0]
call fcn.0043dc10
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x4246dd.12]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
jmp case.0x424f9d.30
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447590]
jmp dword [0x447640]
jmp dword [0x447598]
lea eax, [esp + 0x30]
push dword [esp + 0x10]
push 0
push 0x20019
push eax
push edi
call fcn.00440ce0
add esp, 0x14
nop
lea eax, [esp + 0x30]
push dword [esp + 0x10]
push 0
push 0x20019
push eax
push edi
call fcn.00440ce0
add esp, 0x14
jmp dword [0x4475a0]
lea eax, [esp + 0x48]
push eax
push edi
push ebx
push dword [esp + 0x1c]
call fcn.00440e30
add esp, 0x10
lea eax, [esp + 0x48]
push eax
push edi
push ebx
push dword [esp + 0x1c]
call fcn.00440e30
add esp, 0x10
jmp dword [0x44758c]
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x425d4b
cmp cx, 0x7f
jbe 0x425d10
movzx edx, cx
cmp edx, 0x7ff
ja 0x425d40
add edi, 2
jmp 0x425d11
cmp cx, 0xffff
je 0x425d11
add edi, 3
jmp 0x425d11
lea ebx, [edi + edi]
push ebx
call fcn.004095a0
add esp, 4
mov esi, eax
lea eax, [esp + 0x11e0]
push eax
push ebx
push esi
call case.0x424f9d.38
add esp, 0xc
mov dword [esp + 0x70], 0xbfb2b1e1
mov dword [esp + 0x74], 0xb3c7c6bd
mov dword [esp + 0x78], 0x48444641
mov dword [esp + 0x7c], 0x4b4b2203
mov dword [esp + 0x80], 0x484d4e4c
mov dword [esp + 0x84], 0x4844250b
mov dword [esp + 0x88], 0x2e56502e
mov dword [esp + 0x8c], 0x475a135f
mov word [esp + 0x90], 0xc154
mov dword [esp + 0x92], 0
mov word [esp + 0x96], 0
mov eax, 0xd50e3578
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x2af1caf8]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa8
mov byte [esp + eax + 0x2af1caf8], cl
inc eax
cmp eax, 0xd50e35a0
jne 0x425de0
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0x21f4]
push edi
push esi
push eax
call fcn.0040a5a0
nop
nop
nop
nop
nop
nop
movzx ecx, word [esp + 0x11e0]
test cx, cx
je 0x425e80
lea eax, [esp + 0x11e2]
xor edi, edi
jmp 0x425e4c
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x425e82
cmp cx, 0x7f
jbe 0x425e40
movzx edx, cx
cmp edx, 0x7ff
ja 0x425e70
add edi, 2
jmp 0x425e41
cmp cx, 0xffff
je 0x425e41
add edi, 3
jmp 0x425e41
xor edi, edi
lea ebx, [esp + 0x92]
lea ebp, [edi + 1]
push ebp
call fcn.004095a0
add esp, 4
mov esi, eax
lea eax, [esp + 0x11e0]
push eax
push ebp
push esi
call case.0x424f9d.38
add esp, 0xc
mov dword [esp + 0x70], 0xbfb2b1e1
mov dword [esp + 0x74], 0xb3c7c6bd
mov dword [esp + 0x78], 0x48444641
mov dword [esp + 0x7c], 0x4b4b2203
mov dword [esp + 0x80], 0x484d4e4c
mov dword [esp + 0x84], 0x4844250b
mov dword [esp + 0x88], 0x2e56502e
mov dword [esp + 0x8c], 0x475a135f
mov word [esp + 0x90], 0xc154
mov word [ebx + 4], 0
mov dword [ebx], 0
mov eax, 0xd50e3578
movzx ecx, byte [esp + eax + 0x2af1caf8]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa8
mov byte [esp + eax + 0x2af1caf8], cl
inc eax
cmp eax, 0xd50e35a0
jne 0x425f10
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0x21f4]
push edi
push esi
push eax
call fcn.0040a5a0
jmp dword [0x447660]
jmp dword [0x447668]
push esi
mov esi, eax
call fcn.004095b0
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e0
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, ebp
mov dword [esp + 0x3c], 0x693c6b38
mov dword [esp + 0x40], 0x6d276f23
mov dword [esp + 0x44], 0x71277323
mov dword [esp + 0x48], 0x75207724
mov dword [esp + 0x4c], 0x79267b2b
mov dword [esp + 0x50], 0x7d397f2b
mov dword [esp + 0x54], 0x81ca8339
mov dword [esp + 0x58], 0x85d487cf
mov dword [esp + 0x5c], 0x89d68bcf
mov dword [esp + 0x60], 0x8ddf8fdd
mov dword [esp + 0x64], 0x91c693c6
mov dword [esp + 0x68], 0x95d197c9
mov dword [esp + 0x6c], 0x99d19bc2
mov dword [esp + 0x70], 0x9dcd9fc4
mov dword [esp + 0x74], 0xa1c7a3f3
mov dword [esp + 0x78], 0xa5d7a7d6
mov dword [esp + 0x7c], 0xa9dbabd1
mov dword [esp + 0x80], 0xaddaafc2
mov dword [esp + 0x84], 0xb1ebb3f0
mov dword [esp + 0x88], 0xb5c4b7df
mov dword [esp + 0x8c], 0xb9cbbbd0
mov dword [esp + 0x90], 0xbdcbbfc1
mov dword [esp + 0x94], 0xc187c3e0
mov dword [esp + 0x98], 0xc5b0c7bb
mov dword [esp + 0x9c], 0xc9a1cbb2
mov dword [esp + 0xa0], 0xcdbacfba
mov dword [esp + 0xa4], 0xd1b9d396
mov dword [esp + 0xa8], 0xd5a3d7a6
mov dword [esp + 0xac], 0xd9abdbbb
mov dword [esp + 0xb0], 0xdd82dfaa
mov dword [esp + 0xb4], 0xe190e387
mov dword [esp + 0xb8], 0xe594e78f
mov dword [esp + 0xbc], 0xe99eeb91
mov dword [esp + 0xc0], 0xed82ef8f
mov dword [esp + 0xc4], 0xf1f2f380
mov word [esp + 0xc8], 0
mov ecx, 7
mov edx, 0x18
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x35]
mov ebx, esi
not ebx
mov ebp, ebx
and ebp, 0xee
or ebx, 0x11
add esi, ebx
inc esi
or esi, ebp
mov ebp, edx
and ebp, 0xee
mov ebx, ecx
and ebx, 0x11
or ebx, ebp
xor ebx, esi
add bl, 0x7d
mov byte [esp + ecx + 0x35], bl
inc ecx
dec edx
cmp ecx, 0x95
jne case.default.0x426595
lea ecx, [esp + 8]
lea edx, [esp + 0x3c]
push 0
push 0
push eax
push ecx
push edx
call fcn.00440ce0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x447c14]
lea eax, [esp + 0x38]
lea ecx, [esp + 0xc]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x28]
call fcn.00441170
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447c1c]
mov ebp, edi
jmp dword [0x447c5c]
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
mov ebp, edi
jmp dword [ecx*4 + 0x447c74]
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0x104
mov edx, eax
or eax, 0x104
imul eax, ecx
xor ecx, 0x104
and edx, 0x7ffffefb
imul edx, ecx
add eax, edx
mov esi, dword [esp + 4]
lea eax, [esi + eax*2]
push eax
push dword [esp + 4]
call fcn.0043daf0
add esp, 8
mov dword [esp], eax
lea ebp, [eax + esi*2]
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x447c24]
mov word [ebp], 0
mov eax, ebp
sub eax, dword [esp]
sar eax, 1
mov dword [esp + 4], eax
jmp dword [0x447c5c]
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], 0xb4b58a8b
mov byte [esp + 0x40], 0
mov ecx, 0x685cb91e
nop
nop
nop
movzx edx, byte [esp + ecx - 0x685cb8e2]
xor edx, ecx
mov esi, edx
and esi, 0x69
xor edx, 0x69
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx - 0x685cb8e2], dl
inc ecx
cmp ecx, 0x685cb923
jne 0x426690
mov ecx, dword [0x44d398]
test ecx, ecx
je 0x426990
mov edx, dword [esp + 0x3c]
xor esi, esi
mov ebx, dword [0x44d39c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x1b6183f2
je 0x426970
inc esi
cmp ecx, esi
jne 0x4266e0
jmp 0x426990
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x447c24]
mov esi, dword [esp + 0x38]
mov eax, esi
inc eax
jns 0x426730
mov eax, 0xffffffff
jmp 0x426737
lea eax, [esi*2 + 2]
push eax
call fcn.004095a0
add esp, 4
mov edi, eax
mov dword [esp + 0x34], esi
lea eax, [esp + 0x34]
push eax
push edi
push ebx
push dword [esp + 0x14]
call fcn.00440e30
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447c2c]
jmp dword [0x447c54]
lea eax, [esp + 0x14]
push dword [esp + 8]
push 0
push 0x20019
push eax
push edi
call fcn.00440ce0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447c34]
jmp dword [0x447c54]
mov dword [esp + 0x30], 0x800
mov dword [esp + 0x18], 0x49dd4bb0
mov dword [esp + 0x1c], 0x45d647c5
mov dword [esp + 0x20], 0x41dd43d0
mov dword [esp + 0x24], 0x7d8c7fc7
mov dword [esp + 0x28], 0x79e97be3
mov dword [esp + 0x2c], 0x757677e3
mov eax, 0x66348f13
nop
nop
nop
movzx ecx, byte [esp + eax - 0x66348efb]
mov esi, eax
and esi, ecx
add ecx, eax
add esi, esi
mov edx, ecx
sub edx, esi
add edx, 0x52
and ecx, 1
or edx, 1
add edx, ecx
add dl, 0x4e
mov byte [esp + eax - 0x66348efb], dl
inc eax
cmp eax, 0x66348f2b
jne 0x4267e0
lea eax, [esp + 0x30]
lea ecx, [esp + 0x18]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push ecx
push dword [esp + 0x24]
call fcn.004418a0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447c3c]
jmp 0x4268b6
jmp dword [0x447c44]
movzx eax, word [esp + 0x3c]
mov ecx, ebp
test ax, ax
je 0x426871
lea edx, [esp + 0x3e]
mov ecx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x426860
mov word [ecx], 0
movzx ecx, word [esp + 0x3c]
mov eax, ebp
test cx, cx
je 0x4268a1
lea edx, [esp + 0x3e]
mov eax, ebp
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 0x426890
mov word [eax], 0
jmp dword [0x447c50]
mov word [eax], 0xa
add eax, 2
mov ebp, eax
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0xb4b58a8b
mov byte [esp + 0x1c], 0
mov ecx, 0x685cb91e
movzx edx, byte [esp + ecx - 0x685cb906]
xor edx, ecx
mov esi, edx
and esi, 0x69
xor edx, 0x69
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx - 0x685cb906], dl
inc ecx
cmp ecx, 0x685cb923
jne 0x4268d0
mov ecx, dword [0x44d398]
test ecx, ecx
je 0x426930
mov edx, dword [esp + 0x18]
xor esi, esi
mov ebp, dword [0x44d39c]
nop
nop
nop
cmp dword [ebp + esi*8], 0x1b6183f2
je 0x426921
inc esi
cmp ecx, esi
jne 0x426910
jmp 0x426930
mov ecx, dword [ebp + esi*8 + 4]
cmp ecx, edx
jne 0x426954
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp + 4]
jmp dword [0x447c54]
push edi
call fcn.004095b0
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x447c24]
push eax
push 4
push ecx
push dword [0x44d3a0]
call fcn.0043dc10
add esp, 0x10
mov ebp, dword [esp + 4]
jmp dword [0x447c54]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je 0x426990
push eax
push 4
push ecx
push dword [0x44d3a0]
call fcn.0043dc10
add esp, 0x10
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x18]
push eax
call fcn.004401a0
add esp, 4
jmp case.0x426595.17
lea eax, [esp + 0x18]
push eax
call fcn.004401a0
add esp, 4
jmp dword [0x447c68]
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], 0xb4b58a8b
mov byte [esp + 0x40], 0
mov ecx, 0x685cb91e
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x685cb8e2]
xor edx, ecx
mov esi, edx
and esi, 0x69
xor edx, 0x69
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx - 0x685cb8e2], dl
inc ecx
cmp ecx, 0x685cb923
jne 0x4269d0
mov ecx, dword [0x44d398]
test ecx, ecx
je 0x4269a0
mov edx, dword [esp + 0x3c]
xor esi, esi
mov ebx, dword [0x44d39c]
nop
nop
nop
cmp dword [ebx + esi*8], 0x1b6183f2
je 0x426a20
inc esi
cmp ecx, esi
jne 0x426a10
jmp 0x4269a0
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je 0x4269a0
push eax
push 4
push ecx
push dword [0x44d3a0]
call fcn.0043dc10
add esp, 0x10
jmp 0x4269a0
cmp dword [esp + 0x18], 1
sete cl
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x447c6c]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x447c74]
mov eax, 2
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x447c74]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x447c7c]
mov eax, dword [case.0x424f9d.46]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, 0x20119
xor ecx, ecx
jmp dword [ecx*4 + 0x447c0c]
xor eax, eax
cmp ebp, dword [esp]
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x447c94]
mov eax, dword [esp]
movzx ecx, word [eax]
test cx, cx
mov edx, 0
je 0x426b2d
mov eax, dword [esp]
add eax, 2
xor edx, edx
jmp 0x426b06
mov ecx, edx
and ecx, 1
xor edx, 1
lea edx, [edx + ecx*2]
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x426b2d
cmp cx, 0x7f
jbe 0x426af0
mov esi, edx
movzx edx, cx
cmp edx, 0x7ff
ja 0x426b20
mov edx, esi
add edx, 2
jmp 0x426afb
cmp cx, 0xffff
mov edx, esi
je 0x426afb
add edx, 3
jmp 0x426afb
lea eax, [edx + 1]
push eax
mov esi, edx
call fcn.004095a0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x426c8c
mov eax, dword [esp]
movzx edx, word [eax]
mov eax, dword [esp + 4]
test dx, dx
je 0x426c8c
mov esi, dword [esp]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
movzx edx, dx
lea edi, [esi + 2]
cmp dx, 0x7f
ja 0x426b90
lea ebp, [eax + 1]
mov byte [eax], dl
jmp 0x426c20
cmp edx, 0x7ff
ja 0x426bc0
cmp ecx, 2
jb 0x426bc0
mov ebx, edx
shr ebx, 6
add bl, 0xc0
mov byte [eax], bl
and dl, 0x3f
or dl, 0x80
lea ebp, [eax + 2]
mov byte [eax + 1], dl
jmp 0x426c20
mov ebp, edx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x426c48
cmp ecx, 4
jb 0x426c48
movzx edi, word [esi + 2]
shl edx, 0xa
lea ebx, [edx + edi]
add ebx, 0xfca02400
mov edx, ebx
shr edx, 0x12
add dl, 0xf0
mov byte [eax], dl
mov edx, ebx
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 2], bl
mov edx, edi
and dl, 0x3f
or dl, 0x80
mov byte [eax + 3], dl
lea ebp, [eax + 4]
add esi, 4
mov edi, esi
nop
nop
nop
nop
mov edx, ebp
sub edx, eax
mov ebx, edx
not ebx
and ebx, ecx
not ecx
and ecx, edx
sub ebx, ecx
mov esi, edi
mov eax, ebp
mov ecx, ebx
movzx edx, word [esi]
test dx, dx
je 0x426c8c
test ecx, ecx
jne 0x426b70
jmp 0x426c8c
movzx esi, bp
cmp esi, 0xdc00
jne 0x426c57
mov esi, edi
jmp 0x426c36
cmp ecx, 3
jb 0x426c88
mov ebx, edx
shr ebx, 0xc
or bl, 0xe0
mov byte [eax], bl
mov ebx, edx
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
mov ebx, edx
not ebx
or ebx, 0x3f
add ebx, edx
add bl, 0x81
lea ebp, [eax + 3]
mov byte [eax + 2], bl
jmp 0x426c20
mov ebp, eax
jmp 0x426c20
mov ecx, dword [esp + 0x850]
mov byte [eax], 0
mov dword [esp + 0x3c], 0x1d001a31
mov dword [esp + 0x40], 0x6180811
mov dword [esp + 0x44], 0x50a07de
mov byte [esp + 0x48], 0xf0
mov dword [esp + 0x49], 0
mov word [esp + 0x4d], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0xe
mov ebx, edx
xor ebx, 0xa7
add ebx, esi
xor bl, byte [esp + edx + 0x3c]
add bl, 0xbd
mov byte [esp + edx + 0x3c], bl
inc edx
add eax, 2
cmp edx, 0x13
jne 0x426cd0
lea eax, [esp + 0x3c]
push dword [esp + 0x10]
mov esi, dword [esp + 8]
push esi
push eax
call fcn.0040a5a0
mov ebx, eax
jmp dword [0x447c9c]
jmp dword [0x447ca8]
jmp dword [0x447cbc]
push dword [esp]
call fcn.0043a930
add esp, 4
mov eax, ebx
add esp, 0x83c
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.004095b0
add esp, 4
push esi
call fcn.004095b0
add esp, 4
jmp dword [0x447cac]
int3
int3
int3
mov dword [esp + 0x28], 0x33f331ed
mov dword [esp + 0x2c], 0x2fbe2dbc
mov dword [esp + 0x30], 0x2b8b2994
mov dword [esp + 0x34], 0x278725a8
mov dword [esp + 0x38], 0x238621fd
mov dword [esp + 0x3c], 0x1f891daa
mov dword [esp + 0x40], 0x1b871994
mov dword [esp + 0x44], 0x17b71584
mov dword [esp + 0x48], 0x13c9118c
mov dword [esp + 0x4c], 0xfaa0dd7
mov dword [esp + 0x50], 0xb97099b
mov dword [esp + 0x54], 0x7950597
mov dword [esp + 0x58], 0x3950199
mov dword [esp + 0x5c], 0xff28fd6a
mov dword [esp + 0x60], 0xfb6ff970
mov dword [esp + 0x64], 0xf7f6f560
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 0
mov ecx, 0x4c
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x24]
mov edx, ecx
and edx, esi
add edx, edx
add esi, ecx
add esi, 0xb5830100
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
add dl, 0x84
mov byte [esp + ecx - 0x24], dl
inc ecx
cmp ecx, 0x90
jne 0x429b50
lea esi, [esp + 0x7c]
lea edx, [esp + 0x28]
mov edi, esi
mov ecx, 0x10
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xbc]
xor ebx, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea ebp, [esp + 0x74]
push ebp
push 0
push 0
push 0x1f
push esi
push 0
call dword [0x44d394]
mov dword [esp + 0x28], 0x914e4f29
mov word [esp + 0x2c], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
add cl, 0x6d
xor cl, byte [esp + ebx + 0x28]
add cl, 0xdf
mov byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 6
jne case.default.0x429bf1
xor ecx, ecx
cmp eax, dword [esp + 0x28]
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x448004]
push edi
call fcn.004095b0
add esp, 4
mov eax, dword [case.0x428f41.48]
nop
nop
nop
nop
nop
jmp eax
push dword [esp]
call fcn.004095b0
add esp, 4
mov eax, dword [case.0x428f41.73]
mov ebp, esi
jmp eax
push dword [esp + 0x1c]
call fcn.004095b0
add esp, 4
inc edi
inc edx
add byte [ecx + 0x49], dl
inc edx
add byte [eax + 0x49], al
inc edx
add byte [ecx - 0x4fffbdb7], al
dec ecx
inc edx
add cl, bl
dec ecx
inc edx
add byte [ebx], cl
dec edx
inc edx
add byte [eax - 0xfffbdb7], dh
dec esi
inc edx
add byte [edi], dl
dec edx
inc edx
add byte [0x4000424a], dh
dec edx
inc edx
add byte [ebx], ch
dec ebx
inc edx
add byte [edx], bl
dec esp
inc edx
add byte [eax], dl
dec ebp
inc edx
add byte [ebp + ecx*2 + 0x42], bh
add byte [ebp + ecx*2 + 0x42], bh
add byte [ebp + 0x4e], dl
inc edx
add byte [eax + 0x4b], al
inc edx
add byte [0x4000424b], dh
dec ebx
inc edx
add byte [esi + 0x4b], al
inc edx
add byte [ebp + 0x4b], dl
inc edx
add byte [edx + 0x4b], ah
inc edx
add byte [edi], dh
dec esp
inc edx
add byte [esi], bh
dec esp
inc edx
add byte [eax + 0x4b], ah
inc edx
add byte [eax + 0x4b], ah
inc edx
add byte [eax + 0x4b], ah
inc edx
add byte [edi], dh
dec esp
inc edx
add al, ah
dec edi
inc edx
add al, ah
dec edi
inc edx
add byte [esp + ebx*2 + 0x4fe00042], cl
inc edx
add byte [eax - 0x7fffbdb1], dh
inc edi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x5f], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x47], dl
inc edx
add byte [eax], ah
pop esi
inc edx
add byte [eax + 0x5f], dl
inc edx
add byte [eax], ah
pop esi
inc edx
add byte [esi + 0x5f], dl
inc edx
add byte [ebx + 0x5f], ah
inc edx
add byte [edx - 0x3fffbd96], dh
push 0x42
add al, dl
arpl word [edx], ax
loopne 0x4476e3
inc edx
add byte [ebp + 0x66000042], bl
inc edx
add byte [esi + 0x6d], dl
inc edx
add byte [eax + 0x66], ah
inc edx
add byte [ecx], dl
inc edx
add byte [eax + 0x67], dh
inc edx
add byte [eax - 0x57ffbd99], ah
inc edx
add byte [ecx], cl
push 0x683c0042
inc edx
add byte [esi + 0x68], dh
inc edx
add byte [eax + ebp*2 + 0x68ac0042], ch
inc edx
add byte [edx], bh
push 0x67950042
inc edx
add byte [ebp + 0x67], ah
inc edx
add byte [edx], bh
imul eax, dword [edx], case.0x426595.16
retf 0x4265
add byte [esi + 0x6d], dl
inc edx
add byte [edx + ebp*2 + 0x6aa20042], dl
inc edx
add byte [eax - 0x4dffbd96], dh
push 0x42
add al, al
push 0x42
add cl, dl
push 0x42
add byte [esi], cl
insd dword es:[edi], dx
inc edx
add byte [edi + 0x6d], al
inc edx
add byte [eax], ah
insd dword es:[edi], dx
inc edx
add byte [eax], ah
insd dword es:[edi], dx
inc edx
add byte [eax], ah
insd dword es:[edi], dx
inc edx
add byte [esi], ah
insd dword es:[edi], dx
inc edx
add byte [esi], ah
insd dword es:[edi], dx
inc edx
add byte [edx + 0x68], al
inc edx
add byte [edi + 0x66], dh
inc edx
add byte [eax + 0x3e00426a], dh
insd dword es:[edi], dx
inc edx
add byte [eax], ah
insd dword es:[edi], dx
inc edx
add byte [ecx - 0x51ffbd88], cl
jb 0x447779
add al, dl
jb 0x44777d
add ah, ah
jb 0x447781
add byte [ecx - 0xdffbd88], cl
jb 0x447789
add byte [ebx - 0x4fffbd89], dl
jae 0x447791
add byte [edi + 0x7b004278], bl
ja 0x447799
add byte [ebx + 0x77], bh
inc edx
add byte [0x60004274], al
je 0x4477a5
add byte [eax + 0x74], cl
inc edx
add byte [eax + 0x74], ah
inc edx
add byte [ecx + 0x74], ch
inc edx
add byte [ecx + 0x74], ch
inc edx
add byte [edi - 0x2cffbd8c], bl
je 0x4477bd
add byte [ecx], ch
jbe 0x4477c1
add byte [edx], dh
jbe 0x4477c5
add byte [edx], dh
jbe 0x4477c9
add byte [ecx + 0x76], bl
inc edx
jbe 0x4477cd
add byte [ecx + 0x76], bl
inc edx
add bl, ch
jbe 0x4477d5
add dl, bl
jbe 0x4477d9
add byte [esi + esi*2 + 0x42], dl
jbe 0x4477dd
add al, dh
jae 0x4477e1
add al, dh
jae 0x4477e5
add al, dh
jae 0x4477e9
add byte [edx - 0x56ffbd89], ah
ja 0x4477f1
inc edx
add byte [ebp + 0x5d004277], cl
js 0x4477f9
add byte [ecx + 0x78], ch
inc edx
add byte [ebx - 0x76ffbd89], dl
ja 0x447801
add byte [ecx - 0x4bffbd88], cl
js 0x447805
add byte [edx + esi*2 + 0x79e00042], dh
inc edx
jb 0x447809
add al, ah
jns 0x44780d
add byte [esi + 0x7b], ch
inc edx
jnp 0x447811
add byte [ebp + 0x7c00427b], bh
jnp 0x447819
add byte [esp + edi*2 + 0x7ccb0042], ch
inc edx
jl 0x44781d
add bl, cl
jl 0x447821
add cl, ah
jl 0x447825
add byte [esi - 0x75], cl
inc edx
add cl, cl
mov eax, dword [edx]
leave
xchg byte [edx], al
leave
xchg byte [edx], al
and al, byte [edi - 0x78c1ffbe]
inc edx
add byte [edi + eax*4 + 0x42], ch
add byte [esi - 0x2bffbd79], bh
xchg dword [edx], eax
xchg dword ds:[edx], eax
insb byte es:[edi], dx
xchg dword [edx], eax
mov esi, 0xd4004287
mov eax, dword [edx]
or byte [eax - 0x742bffbe], 0x42
mov byte [edx], al
aam 0x8b
inc edx
mov eax, dword [edx]
push edi
add byte [edi - 0x78], dl
inc edx
add cl, cl
mov byte [edx], al
leave
mov byte [edx], al
aam 0x8b
inc edx
add byte [edi - 0x78], dl
inc edx
add byte [edi - 0x78], dl
inc edx
add byte [ebp - 0x78], bl
inc edx
add byte [eax - 0x78], dh
mov byte [edx], al
push edi
mov byte [edx], al
pop ebp
mov byte [edx], al
jo 0x4477ae
mov byte [edx], al
or byte [eax - 0x793cffbe], 0x42
add bl, al
xchg byte [edx], al
test eax, 0xb4004280
add byte [edx], 180
add byte [edx], 0xb4
add byte [edx], 0xee
xchg byte [edx], al
hlt
inc edx
add byte [eax - 0x3cffbd78], al
xchg byte [edx], al
ret