Function at 0x41e880
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e4
call fcn.00408a30
mov dword [esp + 0x11e4], 0x4fb849a4
mov dword [esp + 0x11e8], 0x43b94d89
mov dword [esp + 0x11ec], 0x47b141b9
mov dword [esp + 0x11f0], 0x7b8c45b0
mov dword [esp + 0x11f4], 0x7f927991
mov dword [esp + 0x11f8], 0x73857d89
mov dword [esp + 0x11fc], 0x778071b5
mov word [esp + 0x1200], 0x7574
mov dword [esp + 0x1202], 0
mov eax, 0x12
mov ecx, 0xd
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0xd
mov edx, eax
and edx, 0x72
or edx, esi
xor dl, byte [esp + eax + 0x11d2]
xor dl, 0xd
add dl, 0xa6
mov byte [esp + eax + 0x11d2], dl
inc eax
dec ecx
cmp eax, 0x34
jne case.default.0x41e7e8
lea eax, [esp + 0x30]
lea ebp, [esp + 0x11e4]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.0043cdc0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x443568]
lea eax, [esp + 0x70]
lea ecx, [esp + 0x2c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x50]
call fcn.0043d1d0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443570]
xor eax, eax
jmp 0x4209fc
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x2c]
setb al
xor edi, edi
jmp dword [eax*4 + 0x443578]
mov word [ebp], 0
mov eax, dword [esp + 0xc]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x443580]
movzx ecx, word [esp + 0x11e4]
xor ebx, ebx
mov edi, 0
test cx, cx
je 0x42093b
xor edi, edi
lea eax, [esp + 0x11e6]
jmp 0x420916
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
xor eax, eax
cmp edi, dword [esp + 0x2c]
setb al
jmp dword [eax*4 + 0x443578]
mov esi, dword [esp + 0x70]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea ecx, [ecx + eax*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x41e8b8
mov eax, 0xffffffff
push eax
call fcn.00408a60
add esp, 4
mov dword [esp + 0x6c], esi
mov esi, eax
lea eax, [esp + 0x6c]
push eax
push esi
push edi
push dword [esp + 0x3c]
call fcn.0043cee0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443588]
jmp dword [0x443618]
lea eax, [esp + 0x40]
push dword [esp + 0x30]
push 0
push 0x20019
push eax
push esi
call fcn.0043cdc0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443590]
jmp dword [0x443618]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], esi
jmp dword [0x443598]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + ecx + 0x44]
mov dword [esp + 0x74], 0x93c291c0
mov dword [esp + 0x78], 0x9fce9dcc
mov dword [esp + 0x7c], 0x9bca99c8
mov dword [esp + 0x80], 0x873e85d4
mov word [esp + 0x84], 0x8180
lea ecx, [esp + 0x114]
mov word [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov ecx, 0xe8e17da4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x171e82d0]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov esi, edx
and esi, 0x88617435
xor esi, 0x8c677435
and edx, 0x60808bca
sub edx, esi
mov esi, edx
not esi
and esi, 0xc7
and edx, 0x38
sub edx, esi
add dl, 0xc8
mov byte [esp + ecx + 0x171e82d0], dl
inc ecx
cmp ecx, 0xe8e17dbc
jne 0x41e990
movzx ecx, word [eax]
lea edx, [esp + 0xfe4]
test cx, cx
je 0x41ea01
add eax, 2
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41e9f0
mov word [edx], 0
movzx eax, word [esp + 0x74]
test ax, ax
je 0x41ea31
lea ecx, [esp + 0x76]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ea20
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x5c], edx
jmp dword [eax*4 + 0x4435b0]
mov dword [esp + 0x60], ecx
mov word [edx - 2], cx
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xfe4]
push dword [esp + 0x40]
push 0
push 0x20019
push eax
push ecx
call fcn.0043cdc0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4435b8]
mov dword [esp + 0x68], 0x800
mov dword [esp + 0x10], 0x400
xor esi, esi
mov dword [esp + 8], 0
jmp 0x41eaa5
inc esi
mov ebp, dword [esp + 4]
lea eax, [esp + 0x10]
lea edi, [esp + 0xbe4]
lea ecx, [esp + 0x64]
lea edx, [esp + 0x68]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x84]
push eax
push esi
push dword [esp + 0x54]
call fcn.0043d4c0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4435c0]
mov dword [esp + 4], ebp
test byte [esp + 8], 1
sete al
mov ebp, dword [esp + 0x64]
cmp ebp, 1
sete cl
and cl, al
movzx eax, cl
mov dword [esp], esi
jmp dword [eax*4 + 0x4435c8]
xor eax, eax
cmp ebp, 3
sete al
jmp dword [eax*4 + 0x4435e8]
mov dword [esp + 0x14], 0x13f111d1
mov dword [esp + 0x18], 0x1f891dff
mov dword [esp + 0x1c], 0x1b8c1985
mov dword [esp + 0x20], 0x7060598
mov byte [esp + 0x24], 0
lea ecx, [esp + 0x14]
mov edx, 0x4272393b
nop
nop
movzx eax, byte [ecx]
lea esi, [edx - 0x40000000]
and esi, 0x2021806
mov edi, edx
and edi, 0x40702139
or edi, esi
xor edi, eax
mov ebx, 0x1be944ae
sub ebx, edi
mov eax, ebx
xor eax, 0x83
and ebx, 0x7c
add ebx, ebx
sub ebx, eax
mov byte [ecx], bl
inc ecx
dec edx
cmp edx, 0x4272392a
jne 0x41eb50
movzx ebx, word [esp + 0x14]
lea eax, [esp + 0x74]
test bx, bx
je 0x41ebdc
lea ecx, [esp + 0x74]
lea esi, [esp + 0x14]
mov eax, ecx
jmp 0x41ebb8
movzx ebx, word [esi]
test bx, bx
je 0x41ebdc
movzx edi, word [ecx]
test di, di
je 0x41ebda
add ecx, 2
add esi, 2
lea edx, [eax + 2]
cmp di, bx
je 0x41ebd2
mov eax, edx
mov ecx, edx
je 0x41ebb0
lea esi, [esp + 0x14]
jmp 0x41ebb0
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4435d0]
xor eax, eax
cmp ebp, 3
sete al
mov esi, dword [esp]
jmp dword [eax*4 + 0x4435e8]
mov dword [esp + 0x14], 0x690d6b34
mov dword [esp + 0x18], 0x6d1b6f1d
mov dword [esp + 0x1c], 0x71037315
mov dword [esp + 0x20], 0x75127706
mov word [esp + 0x24], 0x7b74
mov dword [esp + 0x26], 0
xor eax, eax
mov ebp, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x14]
mov ecx, eax
xor ecx, 0x1059a418
mov esi, eax
or esi, 0xefa65be7
and ecx, esi
add ecx, esi
xor ecx, edx
neg ecx
lea edx, [ecx + ecx]
and edx, 8
xor ecx, 0x7b
sub ecx, edx
add cl, 2
mov byte [esp + eax + 0x14], cl
inc eax
cmp eax, 0x16
jne 0x41ec40
movzx esi, word [esp + 0x14]
lea eax, [esp + 0x74]
test si, si
je 0x41eccf
lea ecx, [esp + 0x74]
lea edx, [esp + 0x14]
mov eax, ecx
jmp 0x41ec98
movzx esi, word [edx]
test si, si
je 0x41eccf
movzx edi, word [ecx]
test di, di
je 0x41eccd
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x41ecb2
mov eax, ebx
mov ecx, ebx
je 0x41ec90
lea edx, [esp + 0x14]
jmp 0x41ec90
mov ebp, dword [esp + 4]
mov esi, dword [esp]
jmp dword [0x4435dc]
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4435f0]
mov esi, dword [esp]
inc esi
jmp 0x41eaa5
mov eax, dword [esp + 0x10]
cmp eax, 2
jb 0x41ed93
shr eax, 1
lea edx, [eax - 1]
mov esi, eax
lea ecx, [esp + 0xbe4]
and esi, 3
je 0x41ed34
mov dword [esp + 0xc], edx
xor edi, edi
mov ebp, dword [esp + 4]
movzx ebx, word [ecx]
xor edx, edx
test bx, bx
setne dl
lea ecx, [ecx + edx*2]
mov word [ebp], bx
add ebp, 2
inc edi
cmp esi, edi
jne 0x41ed10
mov dword [esp + 4], ebp
sub eax, edi
mov edx, dword [esp + 0xc]
cmp edx, 3
mov ebp, dword [esp + 4]
mov esi, dword [esp]
jb 0x41ed96
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [ecx + ebx*2]
mov word [ebp], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea ecx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x41ed40
mov esi, dword [esp]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0xc], eax
inc esi
jmp 0x41eaa5
mov eax, dword [esp + 0x10]
mov ecx, ebp
cmp eax, 2
jb 0x41ee75
shr eax, 1
lea edi, [eax - 1]
mov esi, eax
and esi, 3
je 0x41ee05
mov dword [esp + 8], edi
xor edi, edi
lea edx, [esp + 0xbe4]
mov ecx, ebp
nop
nop
nop
nop
nop
nop
movzx ebp, word [edx]
xor ebx, ebx
test bp, bp
setne bl
lea edx, [edx + ebx*2]
mov word [ecx], bp
add ecx, 2
inc edi
cmp esi, edi
jne 0x41ede0
sub eax, edi
mov ebp, dword [esp + 4]
mov edi, dword [esp + 8]
jmp 0x41ee0e
mov ecx, ebp
lea edx, [esp + 0xbe4]
cmp edi, 3
mov esi, dword [esp]
jb 0x41ee75
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 0x41ee20
mov esi, dword [esp]
mov dword [ecx], 0x20003a
jmp dword [0x4435e4]
mov eax, dword [esp + 0x10]
mov edx, ebp
cmp eax, 2
jb 0x41ef55
shr eax, 1
lea edi, [eax - 1]
mov esi, eax
lea ecx, [esp + 0xbe4]
and esi, 3
je 0x41eef1
mov dword [esp + 8], edi
xor edi, edi
mov edx, ebp
nop
nop
nop
nop
nop
movzx ebp, word [ecx]
xor ebx, ebx
test bp, bp
setne bl
lea ecx, [ecx + ebx*2]
mov word [edx], bp
add edx, 2
inc edi
cmp esi, edi
jne 0x41eeb0
sub eax, edi
mov ebp, dword [esp + 4]
mov edi, dword [esp + 8]
jmp 0x41eef3
add ecx, 4
mov al, 1
mov dword [esp + 8], eax
inc esi
mov ebp, ecx
jmp 0x41eaa5
mov edx, ebp
cmp edi, 3
mov esi, dword [esp]
jb 0x41ef55
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea edi, [ecx + ebx*2]
mov word [edx], si
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea esi, [edi + ebx*2]
mov word [edx + 2], cx
movzx ecx, word [edi + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea edi, [esi + ebx*2]
mov word [edx + 4], cx
movzx esi, word [esi + ebx*2]
xor ecx, ecx
test si, si
setne cl
mov word [edx + 6], si
add edx, 8
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x41ef00
mov esi, dword [esp]
mov dword [edx], 0x20003a
jmp case.0x41e7e8.28
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], 0x3c3d3a3b
lea ecx, [esp + 0x18]
mov byte [ecx + 2], 0
mov word [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x8a
xor dl, byte [esp + ecx + 0x14]
add dl, 0x4e
mov byte [esp + ecx + 0x14], dl
inc ecx
cmp ecx, 7
jne 0x41ef80
mov ecx, dword [0x449620]
test ecx, ecx
je 0x41efe0
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x449624]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x41efc0
inc esi
cmp ecx, esi
jne 0x41efb0
jmp 0x41efe0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41efe0
push eax
push 1
push ecx
push dword [0x449628]
call fcn.00438b80
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x41e7e8.19]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x41e7e8.41]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x60]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x5c]
jmp dword [eax*4 + 0x4435b0]
mov ecx, dword [esp + 0x58]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4435a8]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x74], 0x3c3d3a3b
lea ecx, [esp + 0x114]
mov byte [ecx - 0x9a], 0
mov word [ecx - 0x9c], 0
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x8a
xor cl, byte [esp + edx + 0x74]
add cl, 0x4e
mov byte [esp + edx + 0x74], cl
inc edx
cmp edx, 7
jne 0x41f060
mov ecx, dword [0x449620]
test ecx, ecx
je 0x41f0b0
mov edx, dword [esp + 0x74]
xor esi, esi
mov edi, dword [0x449624]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x41f0a0
inc esi
cmp ecx, esi
jne 0x41f090
jmp 0x41f0b0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41f0e2
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
jmp dword [0x443618]
push esi
call fcn.00408a70
add esp, 4
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
xor eax, eax
cmp edi, dword [esp + 0x2c]
setb al
jmp dword [eax*4 + 0x443578]
push eax
push 1
push ecx
push dword [0x449628]
call fcn.00438b80
add esp, 0x10
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
jmp dword [0x443618]
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x4435a8]
mov dword [esp + 0x74], 0x69c56bd7
mov dword [esp + 0x78], 0x6df86fcd
mov dword [esp + 0x7c], 0x51c753fd
mov dword [esp + 0x80], 0x55fc57c1
mov dword [esp + 0x84], 0x59e65bc0
mov dword [esp + 0x88], 0x5df15fe1
mov dword [esp + 0x8c], 0x41e643ce
mov dword [esp + 0x90], 0x45df47d1
mov dword [esp + 0x94], 0x49aa4bd1
mov dword [esp + 0x98], 0x4de54ffb
mov dword [esp + 0x9c], 0x31a733d9
mov dword [esp + 0xa0], 0x359f3797
mov dword [esp + 0xa4], 0x39a83b9b
mov dword [esp + 0xa8], 0x3dde3f91
mov dword [esp + 0xac], 0x21b92389
mov dword [esp + 0xb0], 0x25b32786
mov dword [esp + 0xb4], 0x29bf2bbb
mov dword [esp + 0xb8], 0x2d852fbc
mov dword [esp + 0xbc], 0x11ae13bf
mov dword [esp + 0xc0], 0x158017a0
mov dword [esp + 0xc4], 0x19b01b85
mov dword [esp + 0xc8], 0x1db21fb7
mov dword [esp + 0xcc], 0x19703b7
mov dword [esp + 0xd0], 0x5d907bc
mov dword [esp + 0xd4], 0x9d30bd1
mov dword [esp + 0xd8], 0xdcb0fd3
mov dword [esp + 0xdc], 0xf138f3c6
mov dword [esp + 0xe0], 0xf522f720
mov dword [esp + 0xe4], 0xf92ffb23
mov dword [esp + 0xe8], 0xfd29ff2f
mov dword [esp + 0xec], 0xe146e32b
mov dword [esp + 0xf0], 0xe520e735
mov dword [esp + 0xf4], 0xe932eb3c
mov dword [esp + 0xf8], 0xed3eef2f
mov dword [esp + 0xfc], 0xd105d33c
mov dword [esp + 0x100], 0xd502d700
mov dword [esp + 0x104], 0xd90cdb12
mov dword [esp + 0x108], 0xdd04df1f
mov dword [esp + 0x10c], 0xc11bc306
mov dword [esp + 0x110], 0xc57ac71a
mov word [esp + 0x114], 0xcbc4
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 0x97
xor cl, byte [esp + eax + 0x74]
add cl, 0xd
mov byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0xa7
jne 0x41f300
lea edi, [esp + 0x918]
lea eax, [esp + 0x74]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x114]
mov eax, edx
lea edi, [esp + 0x9b8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0xd1a5cf83
mov dword [esp + 0x78], 0xd5a0d3b5
mov dword [esp + 0x7c], 0xd9a3d7a5
mov dword [esp + 0x80], 0xddbcdba9
mov dword [esp + 0x84], 0xe182dfa8
mov dword [esp + 0x88], 0xe589e3b9
mov dword [esp + 0x8c], 0xe982e78a
mov dword [esp + 0x90], 0xed93eb99
mov dword [esp + 0x94], 0xf1ceef99
mov dword [esp + 0x98], 0xf5a6f3be
mov dword [esp + 0x9c], 0xf9b3f7a8
mov dword [esp + 0xa0], 0xfd88fb8f
mov dword [esp + 0xa4], 0x199ff8e
mov dword [esp + 0xa8], 0x576036e
mov dword [esp + 0xac], 0x9610752
mov dword [esp + 0xb0], 0xd7f0b7a
mov dword [esp + 0xb4], 0x117f0f67
mov dword [esp + 0xb8], 0x154e137e
mov dword [esp + 0xbc], 0x197d174d
mov dword [esp + 0xc0], 0x1d7e1b76
mov dword [esp + 0xc4], 0x21671f6d
mov dword [esp + 0xc8], 0x25022355
mov dword [esp + 0xcc], 0x2941276b
mov dword [esp + 0xd0], 0x2d5f2b5d
mov dword [esp + 0xd4], 0x31472f4f
mov dword [esp + 0xd8], 0x355c335b
mov dword [esp + 0xdc], 0x3916375d
mov dword [esp + 0xe0], 0x3d4d3b6d
mov dword [esp + 0xe4], 0x414b3f5e
mov dword [esp + 0xe8], 0x4537433b
mov dword [esp + 0xec], 0x49214730
mov dword [esp + 0xf0], 0x4d164b27
mov dword [esp + 0xf4], 0x513c4f1c
mov dword [esp + 0xf8], 0x55345321
mov dword [esp + 0xfc], 0x593a573f
mov dword [esp + 0x100], 0x5d2f5b3f
mov dword [esp + 0x104], 0x610f5f00
mov dword [esp + 0x108], 0x65166317
mov dword [esp + 0x10c], 0x69176708
mov dword [esp + 0x110], 0x6d076b19
mov dword [esp + 0x114], 0x71556f30
mov dword [esp + 0x118], 0x754b7345
mov dword [esp + 0x11c], 0x79337743
mov dword [esp + 0x120], 0x7d3c7b3e
mov dword [esp + 0x124], 0x814a7f4c
mov dword [esp + 0x128], 0x85b783b3
mov dword [esp + 0x12c], 0x89b587b7
mov dword [esp + 0x130], 0x8dee8bbb
mov dword [esp + 0x134], 0x91cc8fb9
mov dword [esp + 0x138], 0x95aa93a8
mov dword [esp + 0x13c], 0x99a697d7
mov dword [esp + 0x140], 0x9da99ba8
mov dword [esp + 0x144], 0xa1aa9fac
mov dword [esp + 0x148], 0xa590a3e2
mov dword [esp + 0x14c], 0xa990a7e7
mov dword [esp + 0x150], 0xad93ab9e
mov dword [esp + 0x154], 0xb1f2af9a
mov word [esp + 0x158], 0xb3b0
mov word [edx + 0x4a], 0
mov dword [edx + 0x46], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
lea ecx, [eax + 0xd]
mov edx, 0xb2
sub edx, eax
and edx, 0xf1
and ecx, 0xe
or ecx, edx
xor cl, byte [esp + eax + 0x74]
xor cl, 0xf1
add cl, 0x7f
mov byte [esp + eax + 0x74], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, 0xec
jb 0x41f5d0
lea edi, [esp + 0x9ba]
lea eax, [esp + 0x74]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x158]
lea edi, [esp + 0xa9e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x239b217d
mov dword [esp + 0x78], 0x27942587
mov dword [esp + 0x7c], 0x3b893987
mov dword [esp + 0x80], 0x3f983d83
mov dword [esp + 0x84], 0x339e3184
mov dword [esp + 0x88], 0x3790356b
mov dword [esp + 0x8c], 0xbb309ae
mov dword [esp + 0x90], 0xfab0daf
mov dword [esp + 0x94], 0x37301ac
mov dword [esp + 0x98], 0x7780577
mov dword [esp + 0x9c], 0x1bb61968
mov dword [esp + 0xa0], 0x1fab1d43
mov dword [esp + 0xa4], 0x13ae11a4
mov dword [esp + 0xa8], 0x17a915ab
mov dword [esp + 0xac], 0x6bc669d3
mov dword [esp + 0xb0], 0x6fdc6d3c
mov dword [esp + 0xb4], 0x63c461df
mov dword [esp + 0xb8], 0x67da65dd
mov dword [esp + 0xbc], 0x7bc979dd
mov dword [esp + 0xc0], 0x7f217dd0
mov dword [esp + 0xc4], 0x73c671c5
mov dword [esp + 0xc8], 0x77c975c8
mov dword [esp + 0xcc], 0x4bf149f7
mov dword [esp + 0xd0], 0x4f074de0
mov dword [esp + 0xd4], 0x43354133
mov dword [esp + 0xd8], 0x47054531
mov dword [esp + 0xdc], 0x5b1c591e
mov dword [esp + 0xe0], 0x5f2a5d2c
mov dword [esp + 0xe4], 0x53215121
mov dword [esp + 0xe8], 0x57275525
mov dword [esp + 0xec], 0xab0ea9d9
mov dword [esp + 0xf0], 0xafecaddf
mov dword [esp + 0xf4], 0xa3eaa1e8
mov dword [esp + 0xf8], 0xa7d6a5e5
mov dword [esp + 0xfc], 0xbbcbb9c8
mov dword [esp + 0x100], 0xbfcabdcc
mov dword [esp + 0x104], 0xb3c0b1f2
mov dword [esp + 0x108], 0xb7c0b5f5
mov dword [esp + 0x10c], 0x8bfd89fe
mov dword [esp + 0x110], 0x8f228dfa
mov dword [esp + 0x114], 0x8180
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 8
xor cl, byte [esp + eax + 0x74]
add cl, 0xd8
mov byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0xa4
jne 0x41f7f0
lea edi, [esp + 0x876]
lea eax, [esp + 0x74]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0x916]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x11851f63
mov dword [esp + 0x78], 0x15801375
mov dword [esp + 0x7c], 0x9831785
mov dword [esp + 0x80], 0xd6c0b99
mov dword [esp + 0x84], 0x1620f98
mov dword [esp + 0x88], 0x5640371
mov dword [esp + 0x8c], 0x399d0762
mov dword [esp + 0x90], 0x3d5d3b5d
mov dword [esp + 0x94], 0x316d3f50
mov dword [esp + 0x98], 0x356c3364
mov dword [esp + 0x9c], 0x295a3764
mov dword [esp + 0xa0], 0x2dbd2b59
mov dword [esp + 0xa4], 0x21b22fb8
mov dword [esp + 0xa8], 0x25b323b1
mov dword [esp + 0xac], 0x594a27b9
mov dword [esp + 0xb0], 0x5dc85b28
mov dword [esp + 0xb4], 0x51385fcd
mov dword [esp + 0xb8], 0x55ce53cb
mov dword [esp + 0xbc], 0x49c35733
mov dword [esp + 0xc0], 0x4d3b4b24
mov dword [esp + 0xc4], 0x41da4fdb
mov dword [esp + 0xc8], 0x45d343dc
mov dword [esp + 0xcc], 0x79db47d5
mov dword [esp + 0xd0], 0x7d317b14
mov dword [esp + 0xd4], 0x71377f29
mov dword [esp + 0xd8], 0x75377327
mov dword [esp + 0xdc], 0x69307732
mov dword [esp + 0xe0], 0x6d3e6b38
mov dword [esp + 0xe4], 0x613b6f3f
mov dword [esp + 0xe8], 0x65316333
mov dword [esp + 0xec], 0x99026737
mov dword [esp + 0xf0], 0x9dd89bcd
mov dword [esp + 0xf4], 0x91d69fd4
mov dword [esp + 0xf8], 0x95c293d3
mov dword [esp + 0xfc], 0x89c597c4
mov dword [esp + 0x100], 0x8dde8bd8
mov dword [esp + 0x104], 0x81dc8fce
mov dword [esp + 0x108], 0x85d483c3
mov dword [esp + 0x10c], 0xb9cf87d2
mov dword [esp + 0x110], 0xbdd6bbee
mov word [esp + 0x114], 0xbfbc
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov esi, 0xe7b57d05
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi + 0x184a836f]
mov dword [esp], eax
mov ecx, esi
and ecx, eax
mov edx, ecx
and edx, 0xfffffffd
mov eax, ecx
or eax, 0xfffffffd
lea ebx, [eax + 1]
imul ebx, edx
inc al
mul dl
mov edi, ecx
and edi, 2
mov edx, dword [esp]
add ebx, edx
add al, dl
mov byte [esp], al
mov edx, ecx
or edx, 2
imul edi, edx
shr cl, 1
and cl, 1
mov eax, ecx
mul dl
sub ebx, edi
add ebx, esi
mov ecx, ebx
and cl, 0xe6
add cl, byte [esp]
add al, al
sub cl, al
or bl, 0x19
sub cl, bl
movzx eax, cl
add eax, esi
mov byte [esp + esi + 0x184a836f], al
inc esi
cmp esi, 0xe7b57dac
jne 0x41fa10
lea eax, [esp + 0xb42]
lea edx, [esp + 0x74]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x114]
lea edi, [esp + 0xbe2]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x74], 0x8f3789d5
mov dword [esp + 0x78], 0x83348d2b
mov dword [esp + 0x7c], 0x87318133
mov dword [esp + 0x80], 0x9b208537
mov dword [esp + 0x84], 0x9f32992c
mov dword [esp + 0x88], 0x93289dcf
mov dword [esp + 0x8c], 0x972f912a
mov dword [esp + 0x90], 0xeb4f9533
mov dword [esp + 0x94], 0xef9fe944
mov dword [esp + 0x98], 0xe390ed99
mov dword [esp + 0x9c], 0xe74ae190
mov dword [esp + 0xa0], 0xfb4fe5b7
mov dword [esp + 0xa4], 0xff42f94c
mov dword [esp + 0xa8], 0xf341fd4f
mov dword [esp + 0xac], 0xf75af14f
mov dword [esp + 0xb0], 0xcb7cf5a4
mov dword [esp + 0xb4], 0xcf74c97b
mov dword [esp + 0xb8], 0xc37ecd75
mov dword [esp + 0xbc], 0xc771c165
mov dword [esp + 0xc0], 0xdb89c568
mov dword [esp + 0xc4], 0xdf6ad96d
mov dword [esp + 0xc8], 0xd361dd60
mov dword [esp + 0xcc], 0xd769d163
mov dword [esp + 0xd0], 0x2b63d578
mov dword [esp + 0xd4], 0x2f65295f
mov dword [esp + 0xd8], 0x23652d59
mov dword [esp + 0xdc], 0x277c217a
mov dword [esp + 0xe0], 0x3b4e2554
mov dword [esp + 0xe4], 0x3f493949
mov dword [esp + 0xe8], 0x33433d4d
mov dword [esp + 0xec], 0x37923141
mov dword [esp + 0xf0], 0xb4c3543
mov dword [esp + 0xf4], 0xf460940
mov dword [esp + 0xf8], 0x3720d4d
mov dword [esp + 0xfc], 0x7770170
mov dword [esp + 0x100], 0x1b6e0574
mov dword [esp + 0x104], 0x1f68195e
mov dword [esp + 0x108], 0x13581d5d
mov dword [esp + 0x10c], 0x175d115a
mov dword [esp + 0x110], 0x6bc6155e
mov word [esp + 0x114], 0x6968
lea ecx, [esp + 0x114]
mov byte [ecx + 6], 0
mov dword [ecx + 2], 0
mov ecx, 0x2e99fe22
nop
movzx edx, byte [esp + ecx - 0x2e99fdae]
xor edx, ecx
mov esi, 0xaa
sub esi, edx
or esi, 1
add esi, edx
add edx, 0x55
or edx, 1
add edx, esi
add dl, 0x56
mov byte [esp + ecx - 0x2e99fdae], dl
inc ecx
cmp ecx, 0x2e99fec9
jne 0x41fc80
lea edx, [esp + 0xaa0]
lea esi, [esp + 0x74]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x114]
lea edi, [esp + 0xb40]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x918]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x9ba]
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x876]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
jmp dword [0x4435a0]
mov dword [esp + 0x74], 0x69c56bd7
mov dword [esp + 0x78], 0x6df86fcd
mov dword [esp + 0x7c], 0x51c753fd
mov dword [esp + 0x80], 0x55fc57c1
mov dword [esp + 0x84], 0x59e65bc0
mov dword [esp + 0x88], 0x5df15fe1
mov dword [esp + 0x8c], 0x41e643ce
mov dword [esp + 0x90], 0x45df47d1
mov dword [esp + 0x94], 0x49aa4bd1
mov dword [esp + 0x98], 0x4de54ffb
mov dword [esp + 0x9c], 0x31a733d9
mov dword [esp + 0xa0], 0x359f3797
mov dword [esp + 0xa4], 0x39a83b9b
mov dword [esp + 0xa8], 0x3dde3f91
mov dword [esp + 0xac], 0x21b92389
mov dword [esp + 0xb0], 0x25b32786
mov dword [esp + 0xb4], 0x29bf2bbb
mov dword [esp + 0xb8], 0x2d852fbc
mov dword [esp + 0xbc], 0x11ae13bf
mov dword [esp + 0xc0], 0x158017a0
mov dword [esp + 0xc4], 0x19b01b85
mov dword [esp + 0xc8], 0x1db21fb7
mov dword [esp + 0xcc], 0x19703b7
mov dword [esp + 0xd0], 0x5d907bc
mov dword [esp + 0xd4], 0x9d30bd1
mov dword [esp + 0xd8], 0xdcb0fd3
mov dword [esp + 0xdc], 0xf138f3c6
mov dword [esp + 0xe0], 0xf522f720
mov dword [esp + 0xe4], 0xf92ffb23
mov dword [esp + 0xe8], 0xfd29ff2f
mov dword [esp + 0xec], 0xe146e32b
mov dword [esp + 0xf0], 0xe520e735
mov dword [esp + 0xf4], 0xe932eb3c
mov dword [esp + 0xf8], 0xed3eef2f
mov dword [esp + 0xfc], 0xd105d33c
mov dword [esp + 0x100], 0xd502d700
mov dword [esp + 0x104], 0xd90cdb12
mov dword [esp + 0x108], 0xdd04df1f
mov dword [esp + 0x10c], 0xc11bc306
mov dword [esp + 0x110], 0xc57ac71a
mov word [esp + 0x114], 0xcbc4
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
mov ecx, eax
add cl, 0x97
xor cl, byte [esp + eax + 0x74]
add cl, 0xd
mov byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0xa7
jne 0x41fee0
lea edi, [esp + 0x918]
lea eax, [esp + 0x74]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x114]
mov eax, edx
lea edi, [esp + 0x9b8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0xd1a5cf83
mov dword [esp + 0x78], 0xd5a0d3b5
mov dword [esp + 0x7c], 0xd9a3d7a5
mov dword [esp + 0x80], 0xddbcdba9
mov dword [esp + 0x84], 0xe182dfa8
mov dword [esp + 0x88], 0xe589e3b9
mov dword [esp + 0x8c], 0xe982e78a
mov dword [esp + 0x90], 0xed93eb99
mov dword [esp + 0x94], 0xf1ceef99
mov dword [esp + 0x98], 0xf5a6f3be
mov dword [esp + 0x9c], 0xf9b3f7a8
mov dword [esp + 0xa0], 0xfd88fb8f
mov dword [esp + 0xa4], 0x199ff8e
mov dword [esp + 0xa8], 0x576036e
mov dword [esp + 0xac], 0x9610752
mov dword [esp + 0xb0], 0xd7f0b7a
mov dword [esp + 0xb4], 0x117f0f67
mov dword [esp + 0xb8], 0x154e137e
mov dword [esp + 0xbc], 0x197d174d
mov dword [esp + 0xc0], 0x1d7e1b76
mov dword [esp + 0xc4], 0x21671f6d
mov dword [esp + 0xc8], 0x25022355
mov dword [esp + 0xcc], 0x2941276b
mov dword [esp + 0xd0], 0x2d5f2b5d
mov dword [esp + 0xd4], 0x31472f4f
mov dword [esp + 0xd8], 0x355c335b
mov dword [esp + 0xdc], 0x3916375d
mov dword [esp + 0xe0], 0x3d4d3b6d
mov dword [esp + 0xe4], 0x414b3f5e
mov dword [esp + 0xe8], 0x4537433b
mov dword [esp + 0xec], 0x49214730
mov dword [esp + 0xf0], 0x4d164b27
mov dword [esp + 0xf4], 0x513c4f1c
mov dword [esp + 0xf8], 0x55345321
mov dword [esp + 0xfc], 0x593a573f
mov dword [esp + 0x100], 0x5d2f5b3f
mov dword [esp + 0x104], 0x610f5f00
mov dword [esp + 0x108], 0x65166317
mov dword [esp + 0x10c], 0x69176708
mov dword [esp + 0x110], 0x6d076b19
mov dword [esp + 0x114], 0x71556f30
mov dword [esp + 0x118], 0x754b7345
mov dword [esp + 0x11c], 0x79337743
mov dword [esp + 0x120], 0x7d3c7b3e
mov dword [esp + 0x124], 0x814a7f4c
mov dword [esp + 0x128], 0x85b783b3
mov dword [esp + 0x12c], 0x89b587b7
mov dword [esp + 0x130], 0x8dee8bbb
mov dword [esp + 0x134], 0x91cc8fb9
mov dword [esp + 0x138], 0x95aa93a8
mov dword [esp + 0x13c], 0x99a697d7
mov dword [esp + 0x140], 0x9da99ba8
mov dword [esp + 0x144], 0xa1aa9fac
mov dword [esp + 0x148], 0xa590a3e2
mov dword [esp + 0x14c], 0xa990a7e7
mov dword [esp + 0x150], 0xad93ab9e
mov dword [esp + 0x154], 0xb1f2af9a
mov word [esp + 0x158], 0xb3b0
mov word [edx + 0x4a], 0
mov dword [edx + 0x46], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
lea ecx, [eax + 0xd]
mov edx, 0xb2
sub edx, eax
and edx, 0xf1
and ecx, 0xe
or ecx, edx
xor cl, byte [esp + eax + 0x74]
xor cl, 0xf1
add cl, 0x7f
mov byte [esp + eax + 0x74], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, 0xec
jb 0x4201b0
lea edi, [esp + 0x9ba]
lea eax, [esp + 0x74]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x158]
lea edi, [esp + 0xa9e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x239b217d
mov dword [esp + 0x78], 0x27942587
mov dword [esp + 0x7c], 0x3b893987
mov dword [esp + 0x80], 0x3f983d83
mov dword [esp + 0x84], 0x339e3184
mov dword [esp + 0x88], 0x3790356b
mov dword [esp + 0x8c], 0xbb309ae
mov dword [esp + 0x90], 0xfab0daf
mov dword [esp + 0x94], 0x37301ac
mov dword [esp + 0x98], 0x7780577
mov dword [esp + 0x9c], 0x1bb61968
mov dword [esp + 0xa0], 0x1fab1d43
mov dword [esp + 0xa4], 0x13ae11a4
mov dword [esp + 0xa8], 0x17a915ab
mov dword [esp + 0xac], 0x6bc669d3
mov dword [esp + 0xb0], 0x6fdc6d3c
mov dword [esp + 0xb4], 0x63c461df
mov dword [esp + 0xb8], 0x67da65dd
mov dword [esp + 0xbc], 0x7bc979dd
mov dword [esp + 0xc0], 0x7f217dd0
mov dword [esp + 0xc4], 0x73c671c5
mov dword [esp + 0xc8], 0x77c975c8
mov dword [esp + 0xcc], 0x4bf149f7
mov dword [esp + 0xd0], 0x4f074de0
mov dword [esp + 0xd4], 0x43354133
mov dword [esp + 0xd8], 0x47054531
mov dword [esp + 0xdc], 0x5b1c591e
mov dword [esp + 0xe0], 0x5f2a5d2c
mov dword [esp + 0xe4], 0x53215121
mov dword [esp + 0xe8], 0x57275525
mov dword [esp + 0xec], 0xab0ea9d9
mov dword [esp + 0xf0], 0xafecaddf
mov dword [esp + 0xf4], 0xa3eaa1e8
mov dword [esp + 0xf8], 0xa7d6a5e5
mov dword [esp + 0xfc], 0xbbcbb9c8
mov dword [esp + 0x100], 0xbfcabdcc
mov dword [esp + 0x104], 0xb3c0b1f2
mov dword [esp + 0x108], 0xb7c0b5f5
mov dword [esp + 0x10c], 0x8bfd89fe
mov dword [esp + 0x110], 0x8f228dfa
mov dword [esp + 0x114], 0x8180
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 8
xor cl, byte [esp + eax + 0x74]
add cl, 0xd8
mov byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0xa4
jne 0x4203d0
lea edi, [esp + 0x876]
lea eax, [esp + 0x74]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0x916]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x11851f63
mov dword [esp + 0x78], 0x15801375
mov dword [esp + 0x7c], 0x9831785
mov dword [esp + 0x80], 0xd6c0b99
mov dword [esp + 0x84], 0x1620f98
mov dword [esp + 0x88], 0x5640371
mov dword [esp + 0x8c], 0x399d0762
mov dword [esp + 0x90], 0x3d5d3b5d
mov dword [esp + 0x94], 0x316d3f50
mov dword [esp + 0x98], 0x356c3364
mov dword [esp + 0x9c], 0x295a3764
mov dword [esp + 0xa0], 0x2dbd2b59
mov dword [esp + 0xa4], 0x21b22fb8
mov dword [esp + 0xa8], 0x25b323b1
mov dword [esp + 0xac], 0x594a27b9
mov dword [esp + 0xb0], 0x5dc85b28
mov dword [esp + 0xb4], 0x51385fcd
mov dword [esp + 0xb8], 0x55ce53cb
mov dword [esp + 0xbc], 0x49c35733
mov dword [esp + 0xc0], 0x4d3b4b24
mov dword [esp + 0xc4], 0x41da4fdb
mov dword [esp + 0xc8], 0x45d343dc
mov dword [esp + 0xcc], 0x79db47d5
mov dword [esp + 0xd0], 0x7d317b14
mov dword [esp + 0xd4], 0x71377f29
mov dword [esp + 0xd8], 0x75377327
mov dword [esp + 0xdc], 0x69307732
mov dword [esp + 0xe0], 0x6d3e6b38
mov dword [esp + 0xe4], 0x613b6f3f
mov dword [esp + 0xe8], 0x65316333
mov dword [esp + 0xec], 0x99026737
mov dword [esp + 0xf0], 0x9dd89bcd
mov dword [esp + 0xf4], 0x91d69fd4
mov dword [esp + 0xf8], 0x95c293d3
mov dword [esp + 0xfc], 0x89c597c4
mov dword [esp + 0x100], 0x8dde8bd8
mov dword [esp + 0x104], 0x81dc8fce
mov dword [esp + 0x108], 0x85d483c3
mov dword [esp + 0x10c], 0xb9cf87d2
mov dword [esp + 0x110], 0xbdd6bbee
mov word [esp + 0x114], 0xbfbc
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov esi, 0xe7b57d05
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi + 0x184a836f]
mov dword [esp], eax
mov ecx, esi
and ecx, eax
mov edx, ecx
and edx, 0xfffffffd
mov eax, ecx
or eax, 0xfffffffd
lea ebx, [eax + 1]
imul ebx, edx
inc al
mul dl
mov edi, ecx
and edi, 2
mov edx, dword [esp]
add ebx, edx
add al, dl
mov byte [esp], al
mov edx, ecx
or edx, 2
imul edi, edx
shr cl, 1
and cl, 1
mov eax, ecx
mul dl
sub ebx, edi
add ebx, esi
mov ecx, ebx
and cl, 0xe6
add cl, byte [esp]
add al, al
sub cl, al
or bl, 0x19
sub cl, bl
movzx eax, cl
add eax, esi
mov byte [esp + esi + 0x184a836f], al
inc esi
cmp esi, 0xe7b57dac
jne 0x4205f0
lea eax, [esp + 0xb42]
lea edx, [esp + 0x74]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x114]
mov ecx, 1
lea edi, [esp + 0xbe2]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x74], 0x8f3789d5
mov dword [esp + 0x78], 0x83348d2b
mov dword [esp + 0x7c], 0x87318133
mov dword [esp + 0x80], 0x9b208537
mov dword [esp + 0x84], 0x9f32992c
mov dword [esp + 0x88], 0x93289dcf
mov dword [esp + 0x8c], 0x972f912a
mov dword [esp + 0x90], 0xeb4f9533
mov dword [esp + 0x94], 0xef9fe944
mov dword [esp + 0x98], 0xe390ed99
mov dword [esp + 0x9c], 0xe74ae190
mov dword [esp + 0xa0], 0xfb4fe5b7
mov dword [esp + 0xa4], 0xff42f94c
mov dword [esp + 0xa8], 0xf341fd4f
mov dword [esp + 0xac], 0xf75af14f
mov dword [esp + 0xb0], 0xcb7cf5a4
mov dword [esp + 0xb4], 0xcf74c97b
mov dword [esp + 0xb8], 0xc37ecd75
mov dword [esp + 0xbc], 0xc771c165
mov dword [esp + 0xc0], 0xdb89c568
mov dword [esp + 0xc4], 0xdf6ad96d
mov dword [esp + 0xc8], 0xd361dd60
mov dword [esp + 0xcc], 0xd769d163
mov dword [esp + 0xd0], 0x2b63d578
mov dword [esp + 0xd4], 0x2f65295f
mov dword [esp + 0xd8], 0x23652d59
mov dword [esp + 0xdc], 0x277c217a
mov dword [esp + 0xe0], 0x3b4e2554
mov dword [esp + 0xe4], 0x3f493949
mov dword [esp + 0xe8], 0x33433d4d
mov dword [esp + 0xec], 0x37923141
mov dword [esp + 0xf0], 0xb4c3543
mov dword [esp + 0xf4], 0xf460940
mov dword [esp + 0xf8], 0x3720d4d
mov dword [esp + 0xfc], 0x7770170
mov dword [esp + 0x100], 0x1b6e0574
mov dword [esp + 0x104], 0x1f68195e
mov dword [esp + 0x108], 0x13581d5d
mov dword [esp + 0x10c], 0x175d115a
mov dword [esp + 0x110], 0x6bc6155e
mov word [esp + 0x114], 0x6968
lea ecx, [esp + 0x114]
mov byte [ecx + 6], 0
mov dword [ecx + 2], 0
mov ecx, 0x2e99fe22
nop
movzx edx, byte [esp + ecx - 0x2e99fdae]
xor edx, ecx
mov esi, 0xaa
sub esi, edx
or esi, 1
add esi, edx
add edx, 0x55
or edx, 1
add edx, esi
add dl, 0x56
mov byte [esp + ecx - 0x2e99fdae], dl
inc ecx
cmp ecx, 0x2e99fec9
jne 0x420860
lea edx, [esp + 0xaa0]
lea esi, [esp + 0x74]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x114]
lea edi, [esp + 0xb40]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x918]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x9ba]
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x876]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
jmp case.0x41e7e8.11
mov ecx, edi
xor ecx, 1
and edi, 1
lea edi, [ecx + edi*2]
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42093b
cmp cx, 0x7f
jbe 0x420900
movzx edx, cx
cmp edx, 0x7ff
ja 0x420930
add edi, 2
jmp 0x42090b
cmp cx, 0xffff
je 0x42090b
add edi, 3
jmp 0x42090b
lea ebp, [edi + 1]
push ebp
call fcn.00408a60
add esp, 4
mov esi, eax
lea eax, [esp + 0x11e4]
push eax
push ebp
push esi
call fcn.00420a10
add esp, 0xc
mov dword [esp + 0x74], 0x333e39c9
mov dword [esp + 0x78], 0x37232a35
mov dword [esp + 0x7c], 0x30343239
mov dword [esp + 0x80], 0x2f2fd6f7
mov dword [esp + 0x84], 0x202d2a24
mov dword [esp + 0x88], 0x2024cdef
mov dword [esp + 0x8c], 0x322a282a
mov dword [esp + 0x90], 0x635ee723
mov word [esp + 0x94], 0xe95c
mov dword [esp + 0x96], 0
nop
mov eax, ebx
add al, 0x22
xor al, byte [esp + ebx + 0x74]
add al, 0x56
mov byte [esp + ebx + 0x74], al
inc ebx
cmp ebx, 0x26
jne 0x4209c0
lea eax, [esp + 0x74]
mov ecx, dword [esp + 0x21f8]
push edi
push esi
push eax
call fcn.00409950
jmp dword [0x443620]
push esi
mov esi, eax
call fcn.00408a70
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e4
pop esi
pop edi
pop ebx
pop ebp
ret