Function at 0x422186
Capabilities:
Copy file
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.00409600
mov dword [esp + 0x11e8], 0x368734ef
mov dword [esp + 0x11ec], 0x32fe30fa
mov dword [esp + 0x11f0], 0x3e8e3cfa
mov dword [esp + 0x11f4], 0x3a8b3883
mov dword [esp + 0x11f8], 0x26812482
mov dword [esp + 0x11fc], 0x2292209a
mov dword [esp + 0x1200], 0x2e9f2cee
mov word [esp + 0x1204], 0x282f
mov dword [esp + 0x1206], 0
mov word [esp + 0x120a], 0
mov dword [esp + 0xa78], 0
mov eax, dword [esp + 0xa78]
cmp eax, 0x23
ja 0x41db78
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa78]
mov ecx, dword [esp + 0xa78]
movzx ecx, byte [esp + ecx + 0x11e8]
add eax, 0xa397dbbf
xor eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
add al, 0xc
mov ecx, dword [esp + 0xa78]
mov byte [esp + ecx + 0x11e8], al
inc dword [esp + 0xa78]
mov eax, dword [esp + 0xa78]
cmp eax, 0x24
jb 0x41db30
lea eax, [esp + 0x18]
lea ebp, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.0043ed50
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4457a0]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x3c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x38]
call fcn.0043f1a0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4457a8]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], 0
cmp ecx, dword [esp + 0x3c]
setb al
xor edi, edi
jmp dword [eax*4 + 0x4457b0]
mov word [ebp], 0
mov eax, dword [esp + 0x10]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x4457b8]
movzx ecx, word [esp + 0x11e8]
xor ebx, ebx
test cx, cx
je 0x41f1db
lea eax, [esp + 0x11e8]
jmp 0x41f1ae
inc edi
xor eax, eax
cmp edi, dword [esp + 0x3c]
setb al
jmp dword [eax*4 + 0x4457b0]
mov esi, dword [esp + 0x60]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41dc53
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov ebx, eax
mov dword [esp + 0x5c], esi
lea eax, [esp + 0x5c]
push eax
push ebx
push edi
push dword [esp + 0x24]
call fcn.0043ee90
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4457d0]
jmp dword [0x445840]
jmp dword [0x4457d8]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], 0x78797e7f
lea ecx, [esp + 0x118]
mov byte [ecx - 0x9a], 0
mov word [ecx - 0x9c], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 6
ja 0x41dd2a
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0xb467992a
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0xaa
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 7
jb 0x41dce0
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x41dd60
mov edx, dword [esp + 0x78]
xor esi, esi
mov edi, dword [0x449d38]
cmp dword [edi + esi*8], 0x625b6034
je 0x41dd50
inc esi
cmp ecx, esi
jne 0x41dd40
jmp 0x41dd60
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41dd6e
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
jmp dword [0x445840]
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
jmp dword [0x445840]
mov ecx, dword [esp + 0x54]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4457f0]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0x9360916e
mov dword [esp + 0x7c], 0x97649562
mov dword [esp + 0x80], 0x6b986966
mov dword [esp + 0x84], 0x6fc46d9a
mov word [esp + 0x88], 0x616e
lea ecx, [esp + 0x118]
mov byte [ecx - 0x8c], 0
mov word [ecx - 0x8e], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0x14
ja 0x41de5a
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0x4fc95477
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0x17
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0x15
jb 0x41de10
movzx ecx, word [eax]
lea esi, [esp + 0x878]
test cx, cx
je 0x41de81
add eax, 2
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41de70
mov word [esi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x41deb1
lea ecx, [esp + 0x7a]
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 0x41dea0
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x48], esi
jmp dword [eax*4 + 0x4457f8]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x4457f8]
mov word [esi - 2], di
lea eax, [esp + 0x50]
lea ecx, [esp + 0x878]
push dword [esp + 0x38]
push 0
push 0x20019
push eax
push ecx
call fcn.0043ed50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445800]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x58], 0x800
mov dword [esp + 0x30], 0x400
xor esi, esi
mov dword [esp + 0xc], 0
jmp 0x41df4b
mov eax, esi
and eax, 1
xor esi, 1
lea esi, [esi + eax*2]
lea eax, [esp + 0x30]
lea edi, [esp + 0xa78]
lea ecx, [esp + 0x34]
lea edx, [esp + 0x58]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x88]
push eax
push esi
push dword [esp + 0x68]
call fcn.0043f490
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445808]
test byte [esp + 0xc], 1
sete al
cmp dword [esp + 0x34], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445810]
xor eax, eax
cmp dword [esp + 0x34], 3
sete al
jmp dword [eax*4 + 0x445820]
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp + 0x1c], 0x18bc1e5c
mov dword [esp + 0x20], 0x148c1aba
mov dword [esp + 0x24], 0x10811698
mov dword [esp + 0x28], 0xc13129d
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x41e01e
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xe5ca8c21
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0xc4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x41dff0
movzx esi, word [esp + 0x1c]
lea ebp, [esp + 0x78]
test si, si
je 0x41e06c
lea eax, [esp + 0x78]
lea edx, [esp + 0x1c]
mov ebp, eax
jmp 0x41e048
movzx esi, word [edx]
test si, si
je 0x41e06c
movzx ebx, word [eax]
test bx, bx
je 0x41e06a
add eax, 2
add edx, 2
lea ecx, [ebp + 2]
cmp bx, si
je 0x41e062
mov ebp, ecx
mov eax, ecx
je 0x41e040
lea edx, [esp + 0x1c]
jmp 0x41e040
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
mov esi, dword [esp + 8]
jmp dword [eax*4 + 0x445818]
xor eax, eax
cmp dword [esp + 0x34], 3
sete al
mov ebp, dword [esp + 4]
jmp dword [eax*4 + 0x445820]
mov dword [esp + 8], esi
mov dword [esp + 0x1c], 0xe446e649
mov dword [esp + 0x20], 0xe07ce27a
mov dword [esp + 0x24], 0xec7cee7a
mov dword [esp + 0x28], 0xe847ea73
mov dword [esp + 0x2c], 0xd6e9
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x41e0fe
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xb0c07a0f
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0xa
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x41e0d0
movzx esi, word [esp + 0x1c]
lea eax, [esp + 0x78]
test si, si
je case.0x41e3fd.15
lea ecx, [esp + 0x78]
lea edx, [esp + 0x1c]
mov eax, ecx
jmp 0x41e12c
movzx esi, word [edx]
test si, si
je case.0x41e3fd.15
movzx edi, word [ecx]
test di, di
je 0x41e23c
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x41e14a
mov eax, ebx
mov ecx, ebx
je 0x41e120
lea edx, [esp + 0x1c]
jmp 0x41e120
mov eax, dword [esp + 0x30]
cmp eax, 2
jae 0x41e172
mov ebp, dword [esp + 4]
jmp 0x41e227
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x41e1b8
mov dword [esp + 0xc], ecx
xor esi, esi
lea edi, [esp + 0xa78]
mov ebp, dword [esp + 4]
nop
movzx ebx, word [edi]
xor ecx, ecx
test bx, bx
setne cl
lea edi, [edi + ecx*2]
mov word [ebp], bx
add ebp, 2
inc esi
cmp edx, esi
jne 0x41e190
mov dword [esp + 4], ebp
sub eax, esi
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp ecx, 3
mov ebp, dword [esp + 4]
jb 0x41e227
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*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 edi, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x41e1d0
mov esi, dword [esp + 8]
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 0xc], eax
jmp case.0x41e3fd.10
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445838]
mov esi, dword [esp + 8]
jmp case.0x41e3fd.10
mov eax, dword [esp + 0x30]
cmp eax, 2
jb 0x41e303
mov edx, ebp
shr eax, 1
lea ebp, [eax - 1]
mov esi, eax
lea ecx, [esp + 0xa78]
and esi, 3
je 0x41e29f
mov dword [esp + 4], eax
xor edi, edi
nop
nop
nop
movzx ebx, word [ecx]
xor eax, eax
test bx, bx
setne al
lea ecx, [ecx + eax*2]
mov word [edx], bx
add edx, 2
inc edi
cmp esi, edi
jne 0x41e280
mov eax, dword [esp + 4]
sub eax, edi
cmp ebp, 3
mov ebp, edx
mov esi, dword [esp + 8]
jb 0x41e307
nop
nop
nop
nop
nop
nop
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 0x41e2b0
mov esi, dword [esp + 8]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0x10], eax
jmp case.0x41e3fd.10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], 0x78797e7f
lea ecx, [esp + 0x20]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x41e380
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xb467992a
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xaa
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x41e350
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x41e3c0
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41e3b0
inc esi
cmp ecx, esi
jne 0x41e3a0
jmp 0x41e3c0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x41e3d2
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x4c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x48]
jmp dword [eax*4 + 0x4457f8]
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
mov edi, dword [esp + 0x4c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x48]
jmp dword [eax*4 + 0x4457f8]
push ebx
call fcn.00409640
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x3c]
setb al
jmp dword [eax*4 + 0x4457b0]
mov dword [esp + 0x44], edi
mov dword [esp + 0x78], 0x4fd751a5
mov dword [esp + 0x7c], 0x4bc44dd3
mov dword [esp + 0x80], 0x47c949db
mov dword [esp + 0x84], 0x43d845d7
mov dword [esp + 0x88], 0x7f9a41cc
mov dword [esp + 0x8c], 0x7be37d97
mov dword [esp + 0x90], 0x77ea79ea
mov dword [esp + 0x94], 0x73f975e7
mov dword [esp + 0x98], 0x6f4e71ff
mov dword [esp + 0x9c], 0x6bf76d99
mov dword [esp + 0xa0], 0x67e969e7
mov dword [esp + 0xa4], 0x63f96585
mov dword [esp + 0xa8], 0x1f8c61f9
mov dword [esp + 0xac], 0x1b3a1d87
mov dword [esp + 0xb0], 0x179b19f7
mov dword [esp + 0xb4], 0x139d158a
mov dword [esp + 0xb8], 0xf811199
mov dword [esp + 0xbc], 0xb970d80
mov dword [esp + 0xc0], 0x7e2099d
mov dword [esp + 0xc4], 0x38c05f4
mov dword [esp + 0xc8], 0x3fa40193
mov dword [esp + 0xcc], 0x3bae3da5
mov dword [esp + 0xd0], 0x37b939a5
mov dword [esp + 0xd4], 0x33fb35d0
mov dword [esp + 0xd8], 0x2fe531ff
mov dword [esp + 0xdc], 0x2bd52de1
mov dword [esp + 0xe0], 0x27dc29d2
mov dword [esp + 0xe4], 0x23ee25f4
mov dword [esp + 0xe8], 0xdf1121f1
mov dword [esp + 0xec], 0xdb0bdd0d
mov dword [esp + 0xf0], 0xd74ad909
mov dword [esp + 0xf4], 0xd32cd51b
mov dword [esp + 0xf8], 0xcf06d118
mov dword [esp + 0xfc], 0xcb1acd0d
mov dword [esp + 0x100], 0xc717c918
mov dword [esp + 0x104], 0xc30ec514
mov dword [esp + 0x108], 0xff30c13e
mov dword [esp + 0x10c], 0xfb30fd3d
mov dword [esp + 0x110], 0xf73df932
mov dword [esp + 0x114], 0xf316f53e
mov word [esp + 0x118], 0xf1f0
lea eax, [esp + 0x118]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa6
ja 0x41e66a
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0xf3fd548e
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0x22
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa7
jb 0x41e620
lea edi, [esp + 0xf1c]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x118]
mov eax, edx
mov ecx, 1
lea edi, [esp + 0xfbc]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x63b31d4d
mov dword [esp + 0x7c], 0x67d661c7
mov dword [esp + 0x80], 0x6bd165d7
mov dword [esp + 0x84], 0x6fc269db
mov dword [esp + 0x88], 0x73306dda
mov dword [esp + 0x8c], 0x77df712b
mov dword [esp + 0x90], 0x7bd075c4
mov dword [esp + 0x94], 0x7fc179cb
mov dword [esp + 0x98], 0x431c7dcb
mov dword [esp + 0x9c], 0x47144110
mov dword [esp + 0xa0], 0x4b01451a
mov dword [esp + 0xa4], 0x4ffe49f1
mov dword [esp + 0xa8], 0x53e74df8
mov dword [esp + 0xac], 0x57e451e0
mov dword [esp + 0xb0], 0x5bff550c
mov dword [esp + 0xb4], 0x5fed59ec
mov dword [esp + 0xb8], 0xa3ed5df1
mov dword [esp + 0xbc], 0xa7fca110
mov dword [esp + 0xc0], 0xab0ba5ff
mov dword [esp + 0xc4], 0xaf0ca918
mov dword [esp + 0xc8], 0xb315ad1f
mov dword [esp + 0xcc], 0xb7d0b107
mov dword [esp + 0xd0], 0xbb1fb5e5
mov dword [esp + 0xd4], 0xbf0db90f
mov dword [esp + 0xd8], 0x8315bd19
mov dword [esp + 0xdc], 0x8732812d
mov dword [esp + 0xe0], 0x8be4852f
mov dword [esp + 0xe4], 0x8f3389df
mov dword [esp + 0xe8], 0x93398d28
mov dword [esp + 0xec], 0x9725912d
mov dword [esp + 0xf0], 0x9b3f9522
mov dword [esp + 0xf4], 0x9fc49929
mov dword [esp + 0xf8], 0xe32a9dce
mov dword [esp + 0xfc], 0xe74ae153
mov dword [esp + 0x100], 0xeb48e549
mov dword [esp + 0x104], 0xef5de941
mov dword [esp + 0x108], 0xf3bdedb2
mov dword [esp + 0x10c], 0xf744f149
mov dword [esp + 0x110], 0xfb45f55a
mov dword [esp + 0x114], 0xff55f94b
mov dword [esp + 0x118], 0xc383fda2
mov dword [esp + 0x11c], 0xc7b9c1b7
mov dword [esp + 0x120], 0xcb81c5bd
mov dword [esp + 0x124], 0xcf82c980
mov dword [esp + 0x128], 0xd3b8cdbe
mov dword [esp + 0x12c], 0xd7a5d1a5
mov dword [esp + 0x130], 0xdba3d5a1
mov dword [esp + 0x134], 0xdf7cd9ad
mov dword [esp + 0x138], 0x239addab
mov dword [esp + 0x13c], 0x2758215a
mov dword [esp + 0x140], 0x2b542561
mov dword [esp + 0x144], 0x2f5f295a
mov dword [esp + 0x148], 0x33582d5e
mov dword [esp + 0x14c], 0x37463174
mov dword [esp + 0x150], 0x3b4e3571
mov dword [esp + 0x154], 0x3f413940
mov dword [esp + 0x158], 0x3603d44
mov word [esp + 0x15c], 0x102
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xea
ja 0x41e98a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0x1b1966bd
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0x5d
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xeb
jb 0x41e940
lea edi, [esp + 0xfbe]
lea eax, [esp + 0x78]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15c]
mov ecx, 1
lea edi, [esp + 0x10a2]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x933b9141
mov dword [esp + 0x7c], 0x97269537
mov dword [esp + 0x80], 0x9b2d9927
mov dword [esp + 0x84], 0x9f3a9d2b
mov dword [esp + 0x88], 0x63bc612a
mov dword [esp + 0x8c], 0x67c265b3
mov dword [esp + 0x90], 0x6bc369c0
mov dword [esp + 0x94], 0x6fcb6dcf
mov dword [esp + 0x98], 0x738371b2
mov dword [esp + 0x9c], 0x779a7587
mov dword [esp + 0xa0], 0x7ba47986
mov dword [esp + 0xa4], 0x7fcb7dab
mov dword [esp + 0xa8], 0x43ec41ca
mov dword [esp + 0xac], 0x47f545f3
mov dword [esp + 0xb0], 0x4b9449eb
mov dword [esp + 0xb4], 0x4ffe4d9a
mov dword [esp + 0xb8], 0x53f651ff
mov dword [esp + 0xbc], 0x57f855f9
mov dword [esp + 0xc0], 0x5bed59f1
mov dword [esp + 0xc4], 0x5f8d5d86
mov dword [esp + 0xc8], 0x239421e9
mov dword [esp + 0xcc], 0x2795258e
mov dword [esp + 0xd0], 0x2b852997
mov dword [esp + 0xd4], 0x2fd72df6
mov dword [esp + 0xd8], 0x33c931db
mov dword [esp + 0xdc], 0x37f135c5
mov dword [esp + 0xe0], 0x3bfe39f0
mov dword [esp + 0xe4], 0x3fc83dca
mov dword [esp + 0xe8], 0x3f501cd
mov dword [esp + 0xec], 0x7f705f1
mov dword [esp + 0xf0], 0xbac09f5
mov dword [esp + 0xf4], 0xfce0dff
mov dword [esp + 0xf8], 0x13e811f6
mov dword [esp + 0xfc], 0x17e415d1
mov dword [esp + 0x100], 0x1beb19e6
mov dword [esp + 0x104], 0x1fe81dea
mov dword [esp + 0x108], 0xe312e1dc
mov dword [esp + 0x10c], 0xe712e521
mov dword [esp + 0x110], 0xeb11e910
mov dword [esp + 0x114], 0xef30ed1c
mov word [esp + 0x118], 0xf1ee
mov dword [esp + 0x11a], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa5
ja 0x41ebf5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
lea edx, [eax + ecx]
add eax, 0x6f
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xe66626f
mov dword [esp + 0xa78], edx
mov eax, dword [esp + 0xa78]
add al, 0x1f
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa6
jb 0x41eba0
lea edi, [esp + 0xe7a]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xf1a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0xa214acf2
mov dword [esp + 0x7c], 0xa617a004
mov dword [esp + 0x80], 0xba12a414
mov dword [esp + 0x84], 0xbe03b808
mov dword [esp + 0x88], 0xb211bc0b
mov dword [esp + 0x8c], 0xb60bb0e0
mov dword [esp + 0x90], 0x8a0cb40d
mov dword [esp + 0x94], 0x8e2c882c
mov dword [esp + 0x98], 0x82fc8c23
mov dword [esp + 0x9c], 0x86f380f7
mov dword [esp + 0xa0], 0x9a2984f7
mov dword [esp + 0xa4], 0x9e2c98c8
mov dword [esp + 0xa8], 0x92219c2b
mov dword [esp + 0xac], 0x96229020
mov dword [esp + 0xb0], 0xea399428
mov dword [esp + 0xb4], 0xee5fe8bb
mov dword [esp + 0xb8], 0xe257ec5c
mov dword [esp + 0xbc], 0xe65de05a
mov dword [esp + 0xc0], 0xfa52e442
mov dword [esp + 0xc4], 0xfeaaf857
mov dword [esp + 0xc8], 0xf249fc4a
mov dword [esp + 0xcc], 0xf642f04f
mov dword [esp + 0xd0], 0xca4af444
mov dword [esp + 0xd4], 0xce80c867
mov dword [esp + 0xd8], 0xc286ccb8
mov dword [esp + 0xdc], 0xc686c0b6
mov dword [esp + 0xe0], 0xda9fc49d
mov dword [esp + 0xe4], 0xdeadd8ab
mov dword [esp + 0xe8], 0xd2aadcae
mov dword [esp + 0xec], 0xd6a0d0a2
mov dword [esp + 0xf0], 0x2a71d4a6
mov dword [esp + 0xf4], 0x2e6f285c
mov dword [esp + 0xf8], 0x22652c67
mov dword [esp + 0xfc], 0x26512062
mov dword [esp + 0x100], 0x3a542457
mov dword [esp + 0x104], 0x3e4d384b
mov dword [esp + 0x108], 0x324b3c79
mov dword [esp + 0x10c], 0x367b3072
mov dword [esp + 0x110], 0xa7e347d
mov dword [esp + 0x114], 0xea50841
mov word [esp + 0x118], 0xc0f
lea eax, [esp + 0x118]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa4
ja 0x41ee5a
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0x57921005
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0x56
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa5
jb 0x41ee10
mov dword [esp + 0x40], ebx
lea eax, [esp + 0x1146]
lea edx, [esp + 0x78]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x118]
lea edi, [esp + 0x11e6]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x6bc369a9
mov dword [esp + 0x7c], 0x6ffe6dcf
mov dword [esp + 0x80], 0x53c551ff
mov dword [esp + 0x84], 0x57f255c3
mov dword [esp + 0x88], 0x5be459c2
mov dword [esp + 0x8c], 0x5ffa5deb
mov dword [esp + 0x90], 0x43eb41f8
mov dword [esp + 0x94], 0x47e345e7
mov dword [esp + 0x98], 0x4b9b49fa
mov dword [esp + 0x9c], 0x4fa24d9d
mov dword [esp + 0xa0], 0x338c319e
mov dword [esp + 0xa4], 0x37a33583
mov dword [esp + 0xa8], 0x3b9439a2
mov dword [esp + 0xac], 0x3fad3dab
mov dword [esp + 0xb0], 0x239c2193
mov dword [esp + 0xb4], 0x27b62592
mov dword [esp + 0xb8], 0x2b8e29b7
mov dword [esp + 0xbc], 0x2f802d81
mov dword [esp + 0xc0], 0x13851189
mov dword [esp + 0xc4], 0x17a515ae
mov dword [esp + 0xc8], 0x1b8c1981
mov dword [esp + 0xcc], 0x1f8d1db6
mov dword [esp + 0xd0], 0x3ad018f
mov dword [esp + 0xd4], 0x7df05be
mov dword [esp + 0xd8], 0xbd109d3
mov dword [esp + 0xdc], 0xfc90ddd
mov dword [esp + 0xe0], 0xf336f1c8
mov dword [esp + 0xe4], 0xf720f522
mov dword [esp + 0xe8], 0xfb2df925
mov dword [esp + 0xec], 0xff2ffd29
mov dword [esp + 0xf0], 0xe344e12d
mov dword [esp + 0xf4], 0xe726e537
mov dword [esp + 0xf8], 0xeb30e93e
mov dword [esp + 0xfc], 0xef3ced29
mov dword [esp + 0x100], 0xd303d13e
mov dword [esp + 0x104], 0xd700d502
mov dword [esp + 0x108], 0xdb0ad914
mov dword [esp + 0x10c], 0xdf0add19
mov dword [esp + 0x110], 0xc319c108
mov dword [esp + 0x114], 0xc778c514
mov word [esp + 0x118], 0xc9c6
mov dword [esp + 0x11a], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa5
ja 0x41f0cd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0x8d80cd97
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0xf
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa6
jb 0x41f080
lea edx, [esp + 0x10a4]
lea esi, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x118]
lea edi, [esp + 0x1144]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xf1c]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0xfbe]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xe7a]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4457f0]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4457e8]
jmp dword [0x445840]
lea eax, [esp + 0x38]
push dword [esp + 0x18]
push 0
push 0x20019
push eax
push ebx
call fcn.0043ed50
add esp, 0x14
lea eax, [esp + 0x38]
push dword [esp + 0x18]
push 0
push 0x20019
push eax
push ebx
call fcn.0043ed50
add esp, 0x14
jmp dword [0x4457e4]
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x41f1db
cmp eax, ebp
jae 0x41f1db
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x41f1a0
mov edx, ecx
jmp 0x41f1a0
xor eax, eax
jmp 0x41f3d4
lea eax, [ebx + 1]
mov dword [esp + 0xc], eax
push eax
call fcn.00409630
add esp, 4
mov edi, eax
lea eax, [esp + 0x11e8]
cmp eax, ebp
setb al
mov dword [esp + 4], edi
mov ecx, ebx
mov dword [esp + 0x10], ebx
test ebx, ebx
jle 0x41f2d5
mov edi, dword [esp + 4]
test al, al
je 0x41f2d5
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 4]
add eax, edi
mov dword [esp + 8], eax
add dword [esp + 0xc], edi
lea edx, [esp + 0x11ea]
movzx ebx, word [edx - 2]
test bx, bx
je 0x41f2d5
cmp bx, 0x7f
ja 0x41f250
mov byte [edi], bl
mov esi, 1
jmp 0x41f2c0
mov eax, edi
not eax
add eax, dword [esp + 0xc]
movzx ecx, bx
cmp eax, 2
jb 0x41f290
cmp ecx, 0x7ff
ja 0x41f290
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov esi, 2
jmp 0x41f2c0
xor esi, esi
cmp eax, 3
jb 0x41f2c0
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov esi, 3
nop
nop
nop
nop
nop
nop
add edi, esi
cmp edi, dword [esp + 8]
jae 0x41f2d5
lea eax, [edx + 2]
cmp edx, ebp
mov edx, eax
jb 0x41f230
mov byte [edi], 0
mov dword [esp + 0x78], 0x5c5f5eac
mov dword [esp + 0x7c], 0x684a4950
mov dword [esp + 0x80], 0x5351515c
mov dword [esp + 0x84], 0x706eb596
mov dword [esp + 0x88], 0x43484949
mov dword [esp + 0x8c], 0x4349aa8e
mov dword [esp + 0x90], 0x4d434f4b
mov dword [esp + 0x94], 0x447f8442
mov dword [esp + 0x98], 0xce41
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0x23
ja 0x41f398
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0x67bb56c1
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0xd4
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0x24
jb 0x41f350
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 4]
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push edx
push esi
push eax
call fcn.0040a090
jmp dword [0x445848]
push esi
mov esi, eax
call fcn.00409640
mov eax, esi
add esp, 4
mov ecx, dword [case.0x41db99.6]
nop
nop
nop
nop
jmp ecx
and al, 1
mov ecx, dword [case.0x41e3fd.28]
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x445ee4]
jmp dword [ecx*4 + 0x445e6c]
mov dword [esp + 0x50], 0x7a8d44a9
mov dword [esp + 0x54], 0x7e867882
mov dword [esp + 0x58], 0x72867c82
mov dword [esp + 0x5c], 0x76817085
mov dword [esp + 0x60], 0x6a87749a
mov dword [esp + 0x64], 0x6ea8689a
mov dword [esp + 0x68], 0x629b6ca8
mov dword [esp + 0x6c], 0x6695609e
mov dword [esp + 0x70], 0x1af7649e
mov dword [esp + 0x74], 0x1eee18ec
mov dword [esp + 0x78], 0x12e71ce7
mov dword [esp + 0x7c], 0x16d010f8
mov dword [esp + 0x80], 0xaf014e3
mov dword [esp + 0x84], 0xefc08e5
mov dword [esp + 0x88], 0x2e60c92
mov dword [esp + 0x8c], 0x6960097
mov dword [esp + 0x90], 0x3aaa0490
mov dword [esp + 0x94], 0x3eab38a3
mov dword [esp + 0x98], 0x32da3cd1
mov dword [esp + 0x9c], 0x36a530ae
mov dword [esp + 0xa0], 0x2aba34d1
mov dword [esp + 0xa4], 0x2eba28a0
mov dword [esp + 0xa8], 0x22e62cc1
mov dword [esp + 0xac], 0x26b120aa
mov dword [esp + 0xb0], 0xda4024b3
mov dword [esp + 0xb4], 0xde4bd84b
mov dword [esp + 0xb8], 0xd248dc37
mov dword [esp + 0xbc], 0xd642d047
mov dword [esp + 0xc0], 0xca5ad44a
mov dword [esp + 0xc4], 0xce23c85b
mov dword [esp + 0xc8], 0xc251cc26
mov dword [esp + 0xcc], 0xc655c05e
mov dword [esp + 0xd0], 0xfa6fc450
mov dword [esp + 0xd4], 0xfe63f81e
mov dword [esp + 0xd8], 0xf2f3fc61
mov byte [esi + 2], 0
mov word [esi], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x8e
ja 0x41f8ef
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x50]
add ecx, 0xd83e5b9e
xor ecx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
mov edx, ecx
xor edx, 0xdb
and ecx, 0x24
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x50], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x8f
jb 0x41f8b0
lea ecx, [esp + 0xc]
lea edx, [esp + 0x50]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043ed50
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x445e74]
lea eax, [esp + 0x48]
lea ecx, [esp + 0x10]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x2c]
call fcn.0043f1a0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445e7c]
jmp 0x41f9a5
mov eax, 4
mov ecx, dword [case.0x41fd3a.4]
jmp case.0x41fd3a.2
mov eax, dword [esp + 0x10]
mov ecx, eax
shl ecx, 9
lea eax, [ecx + eax*8]
add eax, edi
push eax
push dword [esp + 0xc]
call fcn.0043c3e0
add esp, 8
mov dword [esp + 8], eax
lea ebp, [eax + edi*2]
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x445e84]
mov word [ebp], 0
mov edi, ebp
sub edi, dword [esp + 8]
sar edi, 1
lea esi, [esp + 0xdc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], 0xbdbcbfbe
mov byte [esi - 0x86], 0
mov word [esi - 0x88], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x41fa00
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x50]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x75
mov edx, dword [esp]
mov byte [esp + edx + 0x50], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x41f9d0
mov ecx, dword [0x449d34]
test ecx, ecx
je case.default.0x41fd3a
mov edx, dword [esp + 0x50]
xor esi, esi
mov ebx, dword [0x449d38]
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x41fcfb
inc esi
cmp ecx, esi
jne 0x41fa20
jmp case.default.0x41fd3a
inc esi
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x445e84]
jmp dword [0x445e90]
mov edi, dword [esp + 0x48]
mov eax, edi
inc eax
jns 0x41fa70
mov eax, 0xffffffff
jmp 0x41fa77
lea eax, [edi*2 + 2]
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0x1c], edi
lea ecx, [esp + 0x1c]
push ecx
push eax
push esi
push dword [esp + 0x18]
call fcn.0043ee90
add esp, 0x10
jmp case.0x41f909.7
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov edi, eax
mov dword [esp + 0x1c], ebx
lea eax, [esp + 0x1c]
push eax
push edi
push esi
push dword [esp + 0x18]
call fcn.0043ee90
add esp, 0x10
jmp dword [0x445e94]
mov ebx, dword [esp + 0x48]
mov eax, ebx
inc eax
js 0x41faa0
lea eax, [ebx*2 + 2]
jmp 0x41faa5
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445e9c]
jmp dword [0x445eb4]
lea eax, [esp + 0x44]
push dword [esp + 0xc]
push 0
push 0x20019
push eax
push edi
call fcn.0043ed50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445ea4]
jmp dword [0x445eb4]
mov dword [esp + 0x4c], 0x800
mov dword [esp + 0x28], 0xd149df1a
mov dword [esp + 0x2c], 0xd544d341
mov dword [esp + 0x30], 0xc929d74a
mov dword [esp + 0x34], 0xcd32cb43
mov dword [esp + 0x38], 0xc15dcf2f
mov dword [esp + 0x3c], 0xc5c4c327
mov dword [esp + 0x40], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1b
ja 0x41fbc1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xc0240e06
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x28
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1c
jb 0x41fb90
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x28]
push eax
lea eax, [esp + 0x54]
push eax
push 0
push ecx
push dword [esp + 0x54]
call fcn.0043f7c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445eac]
jmp 0x41fc1b
movzx eax, word [esp + 0x50]
test ax, ax
je 0x41fc12
lea ecx, [esp + 0x52]
nop
nop
nop
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fc00
mov word [ebp], 0xa
add ebp, 2
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], 0xbdbcbfbe
lea eax, [esp + 0x2c]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x41fc81
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x5b20f734
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x75
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x41fc50
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x41fcc0
mov edx, dword [esp + 0x28]
xor ebx, ebx
mov eax, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebx*8], 0x625b6034
je 0x41fcb0
inc ebx
cmp ecx, ebx
jne 0x41fca0
jmp 0x41fcc0
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edx
jne 0x41fce0
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x445eb4]
push edi
call fcn.00409640
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x445e84]
push dword [esp + 0x18]
push 1
push dword [0x449d3c]
push eax
call fcn.0043c4a0
add esp, 0x10
jmp dword [0x445eb4]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x41fd3a
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x50]
push eax
call fcn.0043e3f0
add esp, 4
cmp dword [esp + 0x50], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445ebc]
xor eax, eax
jmp 0x41fd55
mov eax, 2
mov ecx, dword [case.0x41fd3a.4]
lea esi, [esp + 0xdc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x445ed4]
sete al
movzx edx, al
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x445edc]
xor eax, eax
mov esi, dword [esp + 8]
cmp ebp, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x445eec]
movzx ecx, word [esi]
test cx, cx
je 0x41fefa
mov eax, esi
xor esi, esi
jmp 0x41fdd7
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x41fe05
test ebp, ebp
je 0x41fddf
cmp eax, ebp
jae 0x41fe05
cmp cx, 0x7f
jbe 0x41fdc0
movzx ecx, cx
cmp ecx, 0x7ff
ja 0x41fe00
mov ecx, esi
and ecx, 2
xor esi, 2
jmp 0x41fdc8
add esi, 3
jmp 0x41fdcb
lea ebx, [esi + 1]
push ebx
call fcn.00409630
add esp, 4
mov edi, eax
test esi, esi
jle 0x41ff0a
lea eax, [edi + esi]
mov dword [esp + 0x18], eax
add ebx, edi
mov edx, dword [esp + 8]
mov dword [esp + 0x14], edi
mov eax, edi
mov edi, ebx
mov dword [esp + 0x24], ebx
jmp 0x41fe56
mov byte [eax], bl
mov ecx, 1
add edx, 2
add eax, ecx
cmp eax, dword [esp + 0x18]
jae 0x41fef4
test ebp, ebp
je 0x41fe62
cmp edx, ebp
jae 0x41fef4
movzx ebx, word [edx]
test bx, bx
je 0x41fef4
cmp bx, 0x7f
jbe 0x41fe40
sub edi, eax
mov ecx, edi
xor ecx, 1
and edi, 0xfffffffe
add edi, edi
sub edi, ecx
movzx ecx, bx
cmp edi, 2
jb 0x41feb0
cmp ecx, 0x7ff
ja 0x41feb0
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [eax], cl
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
mov ecx, 2
mov edi, dword [esp + 0x24]
jmp 0x41fe47
mov dword [esp + 0x20], ecx
xor ecx, ecx
cmp edi, 3
mov edi, dword [esp + 0x24]
jb 0x41fe47
mov ecx, dword [esp + 0x20]
shr ecx, 0xc
or cl, 0xe0
mov byte [eax], cl
mov ecx, dword [esp + 0x20]
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [eax + 1], cl
mov ecx, ebx
not ecx
or ecx, 0x3f
add ecx, ebx
add cl, 0x81
mov byte [eax + 2], cl
mov ecx, 3
jmp 0x41fe47
mov edi, dword [esp + 0x14]
jmp 0x41ff0c
xor esi, esi
push 1
call fcn.00409630
add esp, 4
mov edi, eax
jmp 0x41ff0c
mov eax, edi
mov ecx, dword [esp + 0x864]
mov byte [eax], 0
mov dword [esp + 0x50], 0xe7f0eec3
mov dword [esp + 0x54], 0xcad8f8e3
mov dword [esp + 0x58], 0xdfdad916
mov byte [esp + 0x5c], 0x20
mov dword [esp + 0x5d], 0
mov byte [esp + 0x61], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x11
ja 0x41ff7e
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x50]
add eax, 0x3511c05a
xor eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add al, 0xba
mov edx, dword [esp]
mov byte [esp + edx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x12
jb 0x41ff50
lea eax, [esp + 0x50]
push esi
push edi
push eax
call fcn.0040a090
mov ebx, eax
mov esi, dword [esp + 8]
jmp dword [0x445ef4]
push edi
call fcn.00409640
add esp, 4
push esi
call fcn.0043a100
add esp, 4
mov eax, ebx
add esp, 0x850
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x3c]
push 0x410
call fcn.0043a3e0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445f04]
jmp dword [0x445f74]
mov dword [esp + 0x50], 0xde87c8a5
mov dword [esp + 0x54], 0xf0e6bda0
mov dword [esp + 0x58], 0xe4ede781
mov dword [esp + 0x5c], 0x9be2e285
mov dword [esp + 0x60], 0xe08fb69a
mov dword [esp + 0x64], 0xf394b28d
mov dword [esp + 0x68], 0xf689928e
mov dword [esp + 0x6c], 0xfaa3f49f
mov dword [esp + 0x70], 0xa2908a96
mov dword [esp + 0x74], 0x82dfb591
mov dword [esp + 0x78], 0x1fcee1e1
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x4205ae
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xd621941a
xor eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0xa6
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x420580
lea eax, [esp + 0x30]
lea ecx, [esp + 0x3c]
push 0
push 0x2b
push ebp
push eax
call fcn.0043a9f0
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
xor eax, eax
cmp ebx, esi
sete al
jmp dword [eax*4 + 0x445f0c]
mov eax, esi
sub eax, ebx
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0x24], 0
xor ecx, ecx
mov dword [esp + 0x28], esi
cmp ebx, esi
setne cl
mov dword [esp + 0x20], eax
mov edi, eax
jmp dword [ecx*4 + 0x445f14]
add ebx, 4
xor eax, eax
cmp ebx, dword [esp + 0x28]
setne al
mov edi, dword [esp + 0x2c]
jmp dword [eax*4 + 0x445f14]
mov esi, dword [ebx]
push 0x400
push 0
push ebp
call fcn.004096e0
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x3c]
push eax
push 0x400
push ebp
push esi
call fcn.0043a890
mov dword [esp + 0x2c], edi
cmp eax, 0xc0000000
setae al
cmp dword [esp], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445f24]
mov eax, 1
jmp dword [eax*4 + 0x445f2c]
xor eax, eax
jmp dword [eax*4 + 0x445f2c]
mov byte [esp + 0x44f], 0
movzx eax, byte [esp + 0x50]
xor edx, edx
test al, al
je case.0x41e3fd.85
mov ecx, ebp
nop
nop
cmp al, 0x2e
je 0x4206af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4206a0
jmp case.0x41e3fd.85
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x445f34]
movzx eax, byte [edx + 1]
inc edx
xor edi, edi
test al, al
je 0x4206e1
mov ecx, edx
nop
nop
nop
nop
cmp al, 0x2e
je 0x4206df
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4206d0
jmp 0x4206e1
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x445f3c]
mov ecx, edi
sub ecx, edx
lea ebp, [ecx + ecx*2]
shr ebp, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x420707
cmp eax, 0x2e
jne 0x420708
dec ebp
movzx eax, byte [edx + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x14], ecx
je 0x42071b
cmp eax, 0x2e
jne 0x420720
mov esi, edx
dec ebp
jmp 0x420722
mov esi, edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebp
lea eax, [ebp + 1]
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0xc], eax
mov edx, esi
cmp edi, esi
mov esi, dword [esp + 0x14]
je 0x420847
xor ebx, ebx
mov ebp, 2
mov dword [esp + 0x18], edx
jmp 0x42077a
mov ecx, esi
mov ebx, edi
lea eax, [ebp + 4]
add ebp, 2
cmp ebp, ecx
mov ebp, eax
mov edx, dword [esp + 0x18]
mov esi, ecx
jae 0x420847
movzx eax, byte [edx + ebp - 2]
push eax
mov edi, edx
call fcn.00415cc0
add esp, 4
mov byte [esp + 0x10], al
movzx eax, byte [edi + ebp - 1]
push eax
call fcn.00415cc0
add esp, 4
movzx edx, byte [esp + 0x10]
shl dl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, dl
lea edi, [ebx + 1]
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0xc]
mov byte [edx + ebx], cl
cmp ebp, esi
jae 0x420760
mov byte [esp + 7], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + ebp]
push eax
call fcn.00415cc0
mov ecx, dword [esp + 0x18]
add esp, 4
cmp al, 0x40
mov ebx, edi
je 0x420764
mov bh, byte [esp + 7]
shl bh, 4
mov byte [esp + 7], al
shr al, 2
and al, 0xf
or al, bh
mov edx, dword [esp + 0x10]
lea ebx, [edx + 2]
mov esi, dword [esp + 0xc]
mov byte [esi + edx + 1], al
lea eax, [ebp + 1]
cmp eax, ecx
jae 0x420764
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00415cc0
mov ecx, dword [esp + 0x18]
add esp, 4
cmp al, 0x40
movzx edx, byte [esp + 7]
je 0x420764
shl dl, 6
add al, dl
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov byte [esi + ebx + 2], al
add ebx, 3
jmp 0x420764
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0xc]
mov byte [esi + eax], 0
push esi
call fcn.00402990
add esp, 4
mov ebx, eax
jmp dword [0x445f44]
jmp dword [0x445f4c]
push esi
call fcn.00409640
add esp, 4
push esi
call fcn.00409640
add esp, 4
jmp dword [0x445f58]
push ebx
call fcn.00403290
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea ebp, [esp + 0x50]
mov edi, dword [esp + 0x2c]
jmp dword [ecx*4 + 0x445f5c]
jmp 0x420955
mov dword [esp + 0x1c], 0x71dce8e9
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x4208f3
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xcbaf74c5
xor ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x47
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x1c], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x4208c0
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.004031e0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445f64]
jmp 0x420933
movzx ecx, byte [eax]
test cl, cl
je 0x42092b
inc eax
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x420920
mov word [edi], 0x203a
add edi, 2
movzx eax, byte [esp + 0x50]
test al, al
je 0x42094b
lea ecx, [esp + 0x51]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420940
mov byte [edi], 0xa
inc edi
mov al, 1
mov dword [esp + 0x24], eax
push ebx
call fcn.00403500
add esp, 4
mov ebx, dword [esp + 0x4c]
add ebx, 4
xor eax, eax
cmp ebx, dword [esp + 0x28]
setne al
jmp dword [eax*4 + 0x445f14]
mov ebx, dword [esp + 0x24]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x445f1c]
mov esi, dword [esp + 0x20]
jmp dword [0x445f6c]
xor edi, edi
test ebx, ebx
jne 0x420a6f
jmp 0x420a7c
mov ecx, dword [esp + 0x464]
mov byte [edi], 0
mov dword [esp + 0x50], 0xd8d5d600
mov dword [esp + 0x54], 0xec1e1fe4
mov dword [esp + 0x58], 0xe9efefe0
mov dword [esp + 0x5c], 0xebe50722
mov dword [esp + 0x60], 0x24e510
mov dword [esp + 0x64], 0xfaf2f7fa
mov dword [esp + 0x68], 0xe4f93cfa
mov dword [esp + 0x6c], 0x62f7
mov esi, dword [esp + 0x20]
sub edi, esi
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x1f
ja 0x420a41
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x50]
add eax, 0xd84b2ddc
xor eax, edx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x65
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x50], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x20
jb 0x420a10
lea eax, [esp + 0x50]
push edi
push esi
push eax
call fcn.0040a090
mov ebx, eax
jmp dword [0x445f6c]
push esi
call fcn.00409640
add esp, 4
and bl, 1
mov edi, ebx
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
test ebx, ebx
je 0x420a7c
cmp ebx, esi
je 0x420a7c
push ebx
call fcn.00409640
add esp, 4
mov ebx, edi
jmp dword [0x445f74]
lea ecx, [esp + 0x3c]
call fcn.0043a550
nop
nop
nop
lea ecx, [esp + 0x3c]
call fcn.0043a550
jmp dword [0x445f80]
mov eax, ebx
add esp, 0x450
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov dword [esp + 0x1c], 0x8ad988ed
mov dword [esp + 0x20], 0x86de84da
mov dword [esp + 0x24], 0x82ee80da
mov dword [esp + 0x28], 0x9ecd9cf1
mov dword [esp + 0x2c], 0x9aff98f2
mov dword [esp + 0x30], 0x96d494c2
mov dword [esp + 0x34], 0x92cb90cc
mov dword [esp + 0x38], 0xaef9acf6
mov dword [esp + 0x3c], 0xaacfa8f6
mov dword [esp + 0x40], 0xa6f6a4c8
mov dword [esp + 0x44], 0xa2cfa0ff
mov dword [esp + 0x48], 0xbefcbcd4
mov dword [esp + 0x4c], 0xbae4b8eb
mov dword [esp + 0x50], 0xb6d9b4d1
mov dword [esp + 0x54], 0xb2c7b0d2
mov dword [esp + 0x58], 0xceb0cc43
mov dword [esp + 0x5c], 0xcaa6c8ad
mov dword [esp + 0x60], 0xc6b8c449
mov dword [esp + 0x64], 0xc2b4c0a2
mov word [esp + 0x68], 0xdcdd
mov dword [esp + 0x6a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x51
ja 0x420bc0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x698d5104
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x73
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x52
jb 0x420b90
lea ecx, [esp + 0x18]
lea ebp, [esp + 0x1c]
push 0
push 0
push eax
push ecx
push ebp
call fcn.0043ed50
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x445f8c]
lea ebx, [esp + 0x8c]
lea eax, [esp + 0x70]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x38]
call fcn.0043f1a0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445f94]
jmp dword [0x445fa0]
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x445fdc]
xor ecx, ecx
cmp eax, 4
sete cl
jmp dword [ecx*4 + 0x445fe4]
mov eax, dword [case.0x420f09.16]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, 0x20119
xor ecx, ecx
jmp dword [ecx*4 + 0x445f84]
mov ecx, dword [esp + 0x8c]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x420c76
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0x1c], 0x6bf86d95
mov dword [esp + 0x20], 0x67ea69e7
mov dword [esp + 0x24], 0x63f66585
mov dword [esp + 0x28], 0x1fee61f4
mov dword [esp + 0x2c], 0x1b961dfd
mov dword [esp + 0x30], 0x17161980
mov dword [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x420d0a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
lea esi, [ecx + edx]
add ecx, 0x32
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xf1756d32
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0xa2
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x420cd0
push ebx
push eax
push 0
push ebp
push dword [esp + 0x28]
call fcn.0043f7c0
add esp, 0x14
mov ecx, dword [esp + 0x8c]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x420d31
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov esi, eax
mov dword [esp + 0x1c], 0x6bf86d95
mov dword [esp + 0x20], 0x67ea69e7
mov dword [esp + 0x24], 0x63f66585
mov dword [esp + 0x28], 0x1fee61f4
mov dword [esp + 0x2c], 0x1b961dfd
mov dword [esp + 0x30], 0x17161980
mov dword [esp + 0x34], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x420dc9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
lea edx, [eax + ecx]
add eax, 0x32
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xf1756d32
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0xa2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x420d90
push ebx
push esi
push 0
push ebp
push dword [esp + 0x28]
call fcn.0043f7c0
add esp, 0x14
jmp dword [0x445fa4]
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x445fac]
xor edi, edi
jmp dword [0x445fb4]
push esi
call fcn.00409640
add esp, 4
nop
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0xbdbcbfbe
lea ecx, [esp + 0x20]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x420e60
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x75
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x420e30
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x420ea0
mov edx, dword [esp + 0x1c]
xor esi, esi
mov ebx, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x420e90
inc esi
cmp ecx, esi
jne 0x420e80
jmp 0x420ea0
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne case.default.0x420ea7
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x445fbc]
push ebp
call fcn.0043e3f0
add esp, 4
cmp dword [esp + 0x1c], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445fc4]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x445fdc]
mov eax, 2
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x445fdc]
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x445fbc]
mov eax, 2
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x445fdc]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x445fec]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x446004]
jmp dword [0x446010]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x420f50
sub eax, edi
cmp eax, 0xffffffd9
jge 0x420f70
mov eax, 0xffffffff
jmp 0x420f73
xor ebx, ebx
jmp 0x422224
add eax, 0x26
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0x1c], 0x5bc15dfa
mov dword [esp + 0x20], 0x57ca59cb
mov dword [esp + 0x24], 0x53c355cc
mov dword [esp + 0x28], 0x4ff451cb
mov dword [esp + 0x2c], 0x4bdd4dd3
mov dword [esp + 0x30], 0x47d249d8
mov dword [esp + 0x34], 0x43dd45d1
mov dword [esp + 0x38], 0xbfca4110
mov dword [esp + 0x3c], 0xbb26bd22
mov dword [esp + 0x40], 0xb9ba
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x27
ja 0x421010
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xfc21fa61
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xc1
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x28
jb 0x420fe0
movzx ecx, word [edi]
test cx, cx
je 0x421031
lea edx, [edi + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421020
mov word [eax], 0
movzx ecx, word [esp + 0x1c]
test cx, cx
je 0x421061
lea edx, [esp + 0x1e]
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 0x421050
mov word [eax], 0
jmp case.0x420f09.21
mov word [ecx], 0
jmp dword [0x446014]
lea esi, [esp + 0x1e]
lea ebx, [edi + 2]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x421090
cmp eax, 0xffffffd9
jge 0x4210b0
mov eax, 0xffffffff
jmp 0x4210b3
add eax, 0x26
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0x1c], 0x5bc15dfa
mov dword [esp + 0x20], 0x57ca59cb
mov dword [esp + 0x24], 0x53c355cc
mov dword [esp + 0x28], 0x4ff451cb
mov dword [esp + 0x2c], 0x4bdd4dd3
mov dword [esp + 0x30], 0x47d249d8
mov dword [esp + 0x34], 0x43dd45d1
mov dword [esp + 0x38], 0xbfca4110
mov dword [esp + 0x3c], 0xbb26bd22
mov dword [esp + 0x40], 0xb9ba
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x27
ja 0x421150
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xfc21fa61
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xc1
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x28
jb 0x421120
movzx edx, word [edi]
mov ecx, eax
test dx, dx
je 0x421171
mov ecx, eax
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x421160
mov word [ecx], 0
movzx edx, word [esp + 0x1c]
test dx, dx
je 0x421070
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x421190
jmp 0x421070
jmp dword [0x44601c]
push edi
mov esi, eax
call fcn.00409640
mov eax, esi
add esp, 4
xor ecx, ecx
cmp word [esi], 0x5b
sete cl
jmp dword [ecx*4 + 0x446024]
xor ecx, ecx
cmp word [eax], 0x5b
sete cl
jmp dword [ecx*4 + 0x446024]
jmp dword [0x44602c]
push dword [esp + 0x78]
call fcn.00409640
add esp, 4
mov dword [esp + 0x10], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4461ac]
mov byte [esi], 0
mov dword [esp + 0x1c], 0x8070670
mov dword [esp + 0x20], 0x3c2a2d0c
mov dword [esp + 0x24], 0x3b3d3d30
mov dword [esp + 0x28], 0x2537557e
mov dword [esp + 0x2c], 0x50743b20
mov dword [esp + 0x30], 0x2a3e2536
mov dword [esp + 0x34], 0x142b6c2e
mov word [esp + 0x38], 0x9229
mov dword [esp + 0x3a], 0
mov byte [esp + 0x3e], 0
sub esi, edi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
ja 0x42128e
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0x552a2edb
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x96
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x421260
mov ecx, dword [esp + 0xb4]
push esi
push edi
lea eax, [esp + 0x24]
push eax
call fcn.0040a090
mov dword [esp + 0x10], eax
jmp dword [0x4461b4]
push edi
call fcn.00409640
add esp, 4
mov ebx, dword [esp + 0x10]
and bl, 1
jmp 0x4221f0
jmp dword [0x446198]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4460f4]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov edi, 0
jne case.default.0x4212ff
mov edi, dword [edx + 0x10]
mov dword [esp + 0x88], eax
test eax, eax
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44610c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x74], ebp
mov eax, edi
nop
nop
nop
nop
nop
nop
mov ebp, eax
inc eax
cmp byte [ebp], 0
jne 0x421320
sub ebp, edi
inc ebp
shr ebp, 1
lea esi, [ebp + 1]
mov ebx, dword [case.0x421b51.29]
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409630
add esp, 4
jmp ebx
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x80], eax
jmp dword [edx*4 + 0x446124]
mov byte [eax], 0
mov dword [esp + 0x7c], 0
push 0
push 0x10
push 0
push dword [esp + 0x94]
call fcn.00424660
add esp, 0x10
xor ebx, ebx
mov esi, dword [esp + 0x14]
cmp esi, dword [esp + 0x74]
setne bl
jmp dword [ebx*4 + 0x446134]
or ecx, edx
mov byte [eax], cl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x446124]
lea esi, [edi + 1]
mov edx, ecx
or edx, 0x20
lea ebx, [edx - 0x61]
add edx, 0xffffffa9
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x4213d1
mov ecx, 0xffffffff
cmp ebx, 6
jb case.default.0x4213e2
mov edx, ecx
movsx ebx, byte [esi]
xor ecx, ecx
test bl, bl
setne cl
jmp dword [ecx*4 + 0x44612c]
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov edi, esi
jmp dword [edx*4 + 0x446124]
shl edx, 4
add edi, 2
mov ecx, ebx
or ecx, 0x20
lea esi, [ecx - 0x61]
add ecx, 0xffffffa9
add ebx, 0xffffffd0
cmp ebx, 0xa
jb 0x42141e
mov ebx, 0xffffffff
cmp esi, 6
jb 0x4213a0
mov ecx, ebx
jmp 0x4213a0
mov ecx, dword [esi]
mov dword [esp + 0x7c], ecx
xor ecx, ecx
jmp dword [ecx*4 + 0x446144]
add esi, 8
xor ebx, ebx
cmp esi, dword [esp + 0x74]
setne bl
jmp dword [ebx*4 + 0x446134]
mov edi, dword [esi + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, edx
xor edi, eax
xor ecx, ecx
or edi, ebx
sete cl
jmp dword [ecx*4 + 0x44613c]
mov ecx, 1
jmp dword [ecx*4 + 0x446144]
xor eax, eax
mov edi, dword [esp + 0x7c]
test edi, edi
setne al
mov esi, dword [esp + 0x94]
jmp dword [eax*4 + 0x44614c]
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x421502
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x449d40]
call fcn.0043da70
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x34]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446154]
jmp 0x4215bc
jmp dword [0x446160]
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x42154b
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x42154f
xor edi, edi
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x421530
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x421551
mov esi, eax
jmp 0x421599
mov edx, esi
cmp esi, 4
mov esi, edi
jb 0x421599
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x421560
mov byte [esi], 0xa
push 0xe050b307
push dword [0x449d28]
call fcn.0043da70
add esp, 8
push dword [esp + 4]
call eax
inc esi
mov al, 1
mov dword [esp + 0x10], eax
mov eax, dword [case.0x421b51.40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebp, dword [esp + 0x74]
mov edx, dword [esp + 0x90]
jmp dword [0x44617c]
push dword [esp + 0x80]
call fcn.00409640
mov edx, dword [esp + 0x94]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4460f4]
movzx eax, byte [edi]
mov ecx, esi
test al, al
je 0x42162b
lea edx, [edi + 1]
mov ecx, esi
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x421620
mov word [ecx], 0x203a
movzx ecx, byte [edi]
mov eax, esi
test cl, cl
je 0x42164b
lea edx, [edi + 1]
mov eax, esi
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x421640
mov word [eax], 0x203a
jmp dword [0x446168]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x20]
call fcn.0043e940
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
mov dword [esp + 0x14], 0
jmp dword [eax*4 + 0x446054]
mov esi, dword [esp + 0x70]
lea eax, [esi + 1]
push eax
call fcn.00409630
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.0043ea20
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
mov dword [esp + 0x14], 0
jmp dword [eax*4 + 0x44605c]
jmp dword [0x446068]
mov esi, dword [esp + 0x70]
mov byte [edi + esi], 0
push 0x20
call fcn.00409630
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.00424260
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x70]
mov byte [edi + esi], 0
push 0x20
call fcn.00409630
add esp, 4
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.00424260
jmp dword [0x44606c]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x94], edi
movzx eax, al
xor ebp, ebp
xor edx, edx
jmp dword [eax*4 + 0x446074]
mov dword [esp + 0x1c], 0x11626c71
mov dword [esp + 0x20], 0x6c1a6611
mov dword [esp + 0x24], 0x616d7da5
mov dword [esp + 0x28], 0x429f6a18
mov dword [esp + 0x2c], 0x58555626
mov dword [esp + 0x30], 0x5a5b7699
mov dword [esp + 0x34], 0x29522e55
mov word [esp + 0x38], 0xbf2d
mov dword [esp + 0x3a], 0
mov word [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x42181b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
lea edx, [eax + ecx]
add eax, 0xd2
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x80744bd2
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0xb0
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x4217e0
lea eax, [esp + 0x1c]
mov ecx, dword [esp + 0x80]
push eax
call fcn.00424450
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x44607c]
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x94]
jmp dword [0x44608c]
mov esi, dword [esp + 0x80]
mov ecx, esi
call fcn.004245c0
push esi
call fcn.00409640
add esp, 4
jmp dword [0x446094]
jmp dword [0x446094]
push edi
call fcn.00409640
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0xbdbcbfbe
mov word [esp + 0x20], 0
mov byte [esp + 0x22], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x4218d0
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x75
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x4218a0
mov edx, dword [0x449d34]
test edx, edx
mov ecx, dword [esp + 0x88]
je 0x42190c
mov esi, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [0x449d38]
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x421900
inc edi
cmp edx, edi
jne 0x4218f0
jmp 0x42190c
mov edx, dword [ebx + edi*8 + 4]
cmp edx, esi
jne 0x421c79
mov esi, dword [esp + 0x14]
jmp dword [0x44609c]
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x4460a4]
mov eax, ebp
mov dword [esp + 0x14], esi
sub eax, esi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00409630
add esp, 4
mov ebx, eax
mov eax, dword [0x449d30]
mov dword [esp + 0x1c], 0xb94cbf93
mov dword [esp + 0x20], 0xa547bb2d
mov dword [esp + 0x24], 0xa134a747
mov dword [esp + 0x28], 0xad3ca363
mov dword [esp + 0x2c], 0xa964af3e
mov dword [esp + 0x30], 0x55c8ab4b
mov dword [esp + 0x34], 0x517d57b7
mov dword [esp + 0x38], 0x5daf53b6
mov dword [esp + 0x3c], 0x59b55fc2
mov dword [esp + 0x40], 0x45d15bbb
mov dword [esp + 0x44], 0x41d447a2
mov dword [esp + 0x48], 0x4daf43d5
mov dword [esp + 0x4c], 0x49dc4faf
mov dword [esp + 0x50], 0x75ea4b9c
mov dword [esp + 0x54], 0x719e779a
mov word [esp + 0x58], 0x7372
mov dword [esp + 0x5a], 0
mov word [esp + 0x5e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x421a20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xa6772fea
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xac
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x4219f0
lea edi, [esp + 0x1c]
lea ecx, [esp + 0x18]
push ecx
push 0
push 0
push 0x1e
push edi
push 0
call eax
mov esi, dword [esp + 0x18]
test esi, esi
jns 0x421a43
mov eax, 0xffffffff
jmp 0x421a46
lea eax, [esi + esi]
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0x78], eax
mov eax, dword [0x449d30]
mov dword [esp + 0x1c], 0xa41ba644
mov dword [esp + 0x20], 0x983c9a36
mov dword [esp + 0x24], 0x9c039e38
mov dword [esp + 0x28], 0x9003925c
mov dword [esp + 0x2c], 0x94539601
mov dword [esp + 0x30], 0x881f8a34
mov dword [esp + 0x34], 0x8c6a8e28
mov dword [esp + 0x38], 0x80348221
mov dword [esp + 0x3c], 0x84228615
mov dword [esp + 0x40], 0x78e67a24
mov dword [esp + 0x44], 0x7ce37ed5
mov dword [esp + 0x48], 0x70d472ee
mov dword [esp + 0x4c], 0x74eb76d0
mov dword [esp + 0x50], 0x68e16aa7
mov dword [esp + 0x54], 0x6cf56ecd
mov dword [esp + 0x58], 0x626d
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x421b20
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xd5df9ddb
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x86
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x421af0
lea ecx, [esp + 0x18]
push ecx
push esi
mov esi, dword [esp + 0x80]
push esi
push 0x1e
push edi
push 0
call eax
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043e600
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4460ac]
mov esi, ebx
xor ebx, ebx
mov edi, esi
jmp dword [0x4461a4]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0x78]
call fcn.0043e940
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov esi, ebx
mov dword [esp + 0x84], ebx
jmp dword [eax*4 + 0x4460b4]
mov esi, dword [esp + 0x8c]
lea eax, [esi + 1]
push eax
call fcn.00409630
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x7c]
call fcn.0043ea20
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov esi, ebx
jmp dword [eax*4 + 0x4460bc]
mov esi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.00409630
add esp, 4
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
jmp dword [0x4460c4]
mov ecx, ebx
push esi
push edi
call fcn.00424260
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
push esi
push edi
call fcn.00424260
jmp dword [0x4460d0]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edi
movzx eax, al
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 0x84]
mov esi, ebx
jmp dword [eax*4 + 0x4460d4]
lea esi, [esp + 0x1c]
mov edi, dword [esp + 0x98]
jmp dword [0x4460e0]
push eax
push 1
push dword [0x449d3c]
push edx
call fcn.0043c4a0
mov ecx, dword [esp + 0x98]
add esp, 0x10
mov esi, dword [esp + 0x14]
jmp dword [0x44609c]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
mov dword [esp + 0x78], 0
xor edx, edx
jmp dword [eax*4 + 0x446084]
not eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov dword [edx + ecx + 4], eax
add ebp, 8
mov ecx, dword [esp + 0x90]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, edx
jmp dword [eax*4 + 0x446084]
mov dword [esp + 0x90], ecx
mov esi, dword [ecx]
mov edx, ebp
sub edx, edi
mov ecx, dword [esp + 0x78]
cmp ebp, ecx
mov dword [esp + 0x7c], edx
je 0x421d11
mov dword [esp + 0x74], ebp
mov ebp, edi
jmp 0x421da1
mov eax, edx
sar eax, 3
inc eax
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x421d28
mov ebx, eax
mov eax, ebx
or eax, 8
mov ecx, ebx
and ecx, 8
imul eax, ecx
xor ecx, 8
mov edx, ebx
and edx, 0xfffffff7
imul edx, ecx
add edx, eax
push edx
call fcn.00409630
add esp, 4
mov ebp, eax
test edi, edi
je 0x421d8c
mov edx, dword [esp + 0x78]
cmp edi, edx
je 0x421d83
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [ebp + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebp + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x421d60
push edi
call fcn.00409640
add esp, 4
lea ecx, [ebx*8]
add ecx, ebp
mov eax, ebp
mov edx, dword [esp + 0x7c]
add eax, edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [ebp + edx], 0
mov dword [esp + 0x14], ebp
mov dword [ebp + edx + 4], 0
mov ebx, 0xffffffff
xor eax, eax
mov ebp, eax
cmp byte [esi + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x421dc0
lea edi, [ebx + 1]
push edi
mov dword [esp + 0x14], edi
call fcn.00409630
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov dword [eax + ecx], edx
mov eax, edx
mov ecx, edi
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x10]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, esi
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x84], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x421e41
mov ecx, dword [esp + 0x10]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x84]
mov byte [edx + ecx], al
test ebx, ebx
je 0x421ece
cmp ebx, 1
jne 0x421e4d
mov eax, 0xffffffff
jmp 0x421e9f
and ebp, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
mov eax, dword [eax*4 + 0x4415c0]
mov edx, eax
and edx, ecx
add ecx, eax
add edx, edx
sub ecx, edx
mov eax, ecx
shr eax, 8
xor cl, byte [esi + 1]
add esi, 2
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4415c0]
mov edx, ecx
and edx, eax
add eax, ecx
add edx, edx
sub eax, edx
add ebp, 0xfffffffe
jne 0x421e60
test bl, 1
mov ebp, dword [esp + 0x74]
je 0x421cc0
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
mov eax, dword [eax*4 + 0x4415c0]
mov edx, eax
and edx, ecx
add ecx, eax
add edx, edx
sub ecx, edx
mov eax, ecx
jmp 0x421cc0
xor eax, eax
mov ebp, dword [esp + 0x74]
jmp 0x421cc2
jmp dword [0x44618c]
mov edi, dword [esp + 0x9c]
jmp dword [0x446184]
mov ebx, esi
mov esi, dword [esp + 0x98]
mov ecx, esi
call fcn.004245c0
push esi
call fcn.00409640
add esp, 4
mov esi, ebx
jmp dword [0x44618c]
mov ebx, esi
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c], 0xbdbcbfbe
mov word [esp + 0x20], 0
mov byte [esp + 0x22], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x421f70
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x75
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x421f40
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x421fa8
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x421fa0
inc esi
cmp ecx, esi
jne 0x421f90
jmp 0x421fa8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x421fd3
mov esi, ebx
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x10]
jmp dword [0x4461a4]
mov dword [esp + 0x10], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4461ac]
jmp dword [0x4461b4]
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
mov esi, ebx
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x10]
jmp dword [0x4461a4]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x10], 0
mov esi, ebx
jmp dword [ecx*4 + 0x4460ec]
add eax, 8
mov dword [esp + 0x10], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov esi, ebx
jmp dword [eax*4 + 0x4460f4]
jmp dword [0x446108]
mov dword [esp + 0x1c], 0xf60ff430
mov dword [esp + 0x20], 0xfa5af82b
mov dword [esp + 0x24], 0xfe53fc54
mov dword [esp + 0x28], 0xc268c059
mov dword [esp + 0x2c], 0xc619c464
mov dword [esp + 0x30], 0xca66c864
mov dword [esp + 0x34], 0xce6bcc65
mov dword [esp + 0x38], 0xd276d066
mov dword [esp + 0x3c], 0xd663d43d
mov dword [esp + 0x40], 0xda7fd873
mov dword [esp + 0x44], 0xdcdb
mov byte [esp + 0x48], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x2c
ja case.0x420f09.28
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x3c2f593
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xa0
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x2d
jb 0x4220b0
mov dword [esp + 0x1c], 0xf60ff430
mov dword [esp + 0x20], 0xfa5af82b
mov dword [esp + 0x24], 0xfe53fc54
mov dword [esp + 0x28], 0xc268c059
mov dword [esp + 0x2c], 0xc619c464
mov dword [esp + 0x30], 0xca66c864
mov dword [esp + 0x34], 0xce6bcc65
mov dword [esp + 0x38], 0xd276d066
mov dword [esp + 0x3c], 0xd663d43d
mov dword [esp + 0x40], 0xda7fd873
mov dword [esp + 0x44], 0xdcdb
mov byte [esp + 0x48], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x2c
ja 0x422180
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x3c2f593
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xa0
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x2d
jb 0x422150
jmp dword [0x446034]
lea ecx, [esp + 0x1c]
push 0
push ecx
push eax
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, esi
lea ecx, [esp + 0x18]
push 0x60
push 3
push 0x120089
push ecx
mov dword [esp + 0x98], eax
push eax
call fcn.0043e600
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44604c]
xor esi, esi
xor ebp, ebp
mov ecx, dword [esp + 0x88]
jmp dword [0x44609c]
push ecx
call fcn.00409640
add esp, 4
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x4460a4]
mov dword [esp + 0x14], esi
xor ebx, ebx
mov esi, dword [esp + 0x14]
test esi, esi
je 0x422224
cmp esi, ebp
jne 0x422207
jmp 0x422224
add esi, 8
cmp esi, ebp
je 0x422218
mov eax, dword [esi]
test eax, eax
je 0x422200
push eax
call fcn.00409640
add esp, 4
jmp 0x422200
push dword [esp + 0x14]
call fcn.00409640
add esp, 4
mov eax, ebx
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x1c], 0xaa595548
mov dword [esp + 0x20], 0x5d5143a8
mov dword [esp + 0x24], 0x4a5c520c
mov dword [esp + 0x28], 0x570a47b7
mov dword [esp + 0x2c], 0x41544bb9
mov dword [esp + 0x30], 0x44426d00
mov dword [esp + 0x34], 0xc232333b
mov dword [esp + 0x38], 0x32362b14
mov word [esp + 0x3c], 0x443a
mov dword [esp + 0x3e], 0
mov word [esp + 0x42], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x4222d8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0x6fdc5428
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
xor ecx, 0xd
and eax, 0x72
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x4222a0
mov ecx, edi
push esi
call fcn.00424450
mov dword [esp + 0x1c], 0xaa595548
mov dword [esp + 0x20], 0x5d5143a8
mov dword [esp + 0x24], 0x4a5c520c
mov dword [esp + 0x28], 0x570a47b7
mov dword [esp + 0x2c], 0x41544bb9
mov dword [esp + 0x30], 0x44426d00
mov dword [esp + 0x34], 0xc232333b
mov dword [esp + 0x38], 0x32362b14
mov word [esp + 0x3c], 0x443a
mov dword [esp + 0x3e], 0
mov word [esp + 0x42], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x422388
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0x6fdc5428
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
xor ecx, 0xd
and eax, 0x72
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x422350
mov ecx, edi
push esi
call fcn.00424450
jmp dword [0x4460e8]
push edi
call fcn.00409640
add esp, 4
push edi
call fcn.00409640
add esp, 4
jmp dword [0x4461a0]
int3
jmp dword [0x4461d0]
jmp dword [0x4461d4]
push dword [esp + 0x54]
call fcn.00409640
add esp, 4
mov eax, dword [esp + 0x88]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xb0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x4461bc]
mov dword [esp + 0xb0], ecx
mov edi, dword [esp + ecx + 0x90]
mov esi, 0xfffffffe
nop
nop
nop
nop
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x422800
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x80]
lea ecx, [edx + eax]
mov dword [esp + 0x60], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x422832
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x54]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x422871
mov edx, dword [esp + 0x8c]
mov eax, ebx
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 0x422860
mov word [eax], 0x5c
mov dword [esp + 0x10], 0x72c570d3
mov dword [esp + 0x14], 0x7ede7ce4
mov dword [esp + 0x18], 0x7aed78de
mov dword [esp + 0x1c], 0x66d6649b
mov dword [esp + 0x20], 0x62c060fb
mov dword [esp + 0x24], 0x6ec06cff
mov dword [esp + 0x28], 0x686f
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x4228f0
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0xa3030f03
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x8c
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x4228c0
movzx ecx, word [edi]
test cx, cx
je 0x422911
lea edx, [edi + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422900
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
mov dword [esp + 0x48], edi
je 0x422941
lea edx, [esp + 0x12]
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 0x422930
mov word [eax], 0
lea eax, [esp + 0x64]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xbc], ebx
push ebx
call fcn.0043e600
add esp, 0x14
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4461dc]
jmp dword [0x44626c]
push dword [esp + 0xac]
call fcn.00409640
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x446284]
lea eax, [esp + 0xa0]
push 0
push eax
push dword [esp + 0x6c]
call fcn.0043e940
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4461e4]
mov edi, dword [esp + 0xa0]
lea eax, [edi + 1]
push eax
call fcn.00409630
add esp, 4
mov ebp, eax
jmp dword [0x4461ec]
push 0
push edi
push ebp
push dword [esp + 0x70]
call fcn.0043ea20
add esp, 0x10
nop
push 0
push edi
push ebp
push dword [esp + 0x70]
call fcn.0043ea20
add esp, 0x10
jmp dword [0x4461f8]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4461fc]
mov eax, dword [esp + 0xa0]
mov byte [ebp + eax], 0
push ebp
call fcn.00402990
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x446204]
jmp dword [0x446244]
push ebp
call fcn.00409640
add esp, 4
jmp dword [0x446250]
movzx eax, bl
jmp dword [eax*4 + 0x446284]
jmp dword [0x44628c]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x60]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x422a83
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x54]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
mov ebx, dword [esp + 0x48]
je 0x422ac1
mov edx, dword [esp + 0x8c]
mov eax, edi
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 0x422ab0
mov word [eax], 0x5c
mov dword [esp + 0x10], 0x79b67bc8
mov dword [esp + 0x14], 0x7ddb7fe9
mov dword [esp + 0x18], 0x61ce63db
mov dword [esp + 0x1c], 0x65d36780
mov dword [esp + 0x20], 0x69fb6bf0
mov dword [esp + 0x24], 0x6dc96ffe
mov dword [esp + 0x28], 0x51f953c5
mov dword [esp + 0x2c], 0x55fa57ec
mov dword [esp + 0x30], 0x59c05bff
mov dword [esp + 0x34], 0x5df25ff3
mov dword [esp + 0x38], 0x41e443f8
mov word [esp + 0x3c], 0x4740
lea ecx, [esp + 0x10]
mov byte [ecx + 0x30], 0
mov word [ecx + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x30
ja 0x422b80
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x99b3da87
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xd
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x31
jb 0x422b50
movzx ecx, word [ebx]
test cx, cx
je 0x422ba1
lea edx, [ebx + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422b90
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x422bd1
lea edx, [esp + 0x12]
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 0x422bc0
mov word [eax], 0
lea eax, [esi + 0x12]
cmp dword [esp + 0x60], 0xfffffff7
jge 0x422be5
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov dword [esp + 0x10], 0xe552e719
mov dword [esp + 0x14], 0xe168e35f
mov dword [esp + 0x18], 0xfd4aff5b
mov dword [esp + 0x1c], 0xf944fb40
mov dword [esp + 0x20], 0xf7f8
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x13
ja 0x422c6a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
lea ebx, [ecx + edx]
add ecx, 7
and ecx, edx
add ecx, ecx
sub ebx, ecx
add ebx, 0x7ac82a07
mov dword [esp + 8], ebx
mov ecx, dword [esp + 8]
add cl, 0x11
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x14
jb 0x422c30
mov ecx, dword [esp + 0x48]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x422ca1
mov ecx, dword [esp + 0x48]
lea ebx, [ecx + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x422c90
mov word [ecx], 0
movzx edx, word [esp + 0x10]
test dx, dx
je 0x422cd1
lea ebx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x422cc0
mov word [ecx], 0
mov dword [esp + 0x10], 0xc4c5daf1
mov byte [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x422d30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0xaf49060e
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x2b
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x422d00
push 0
push 0
push 0
push 0xc00000
lea ecx, [esp + 0x20]
push ecx
push edi
push eax
push dword [esp + 0x114]
call fcn.0041a000
add esp, 0x20
jmp case.0x420f09.180
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x20]
push eax
push edi
push ebx
push dword [esp + 0x114]
call fcn.0041a000
add esp, 0x20
jmp dword [0x446294]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x60]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x422db0
mov eax, 0xffffffff
jmp 0x422db9
add eax, edx
lea eax, [eax*2 + 0x2e]
mov ebx, dword [esp + 0x48]
push eax
call fcn.00409630
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x54]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x422df1
mov edx, dword [esp + 0x8c]
mov eax, edi
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422de0
mov word [eax], 0x5c
mov dword [esp + 0x10], 0x79b67bc8
mov dword [esp + 0x14], 0x7ddb7fe9
mov dword [esp + 0x18], 0x61ce63db
mov dword [esp + 0x1c], 0x65d36780
mov dword [esp + 0x20], 0x69fb6bf0
mov dword [esp + 0x24], 0x6dc96ffe
mov dword [esp + 0x28], 0x51f953c5
mov dword [esp + 0x2c], 0x55fa57ec
mov dword [esp + 0x30], 0x59c05bff
mov dword [esp + 0x34], 0x5df25ff3
mov dword [esp + 0x38], 0x41e443f8
mov word [esp + 0x3c], 0x4740
lea ecx, [esp + 0x10]
mov byte [ecx + 0x30], 0
mov word [ecx + 0x2e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x30
ja 0x422eb0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x99b3da87
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xd
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x31
jb 0x422e80
lea ebp, [ebx + 2]
add eax, 2
movzx ecx, word [ebx]
test cx, cx
je 0x422ed1
mov edx, ebp
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422ec0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x422f01
lea edx, [esp + 0x12]
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 0x422ef0
mov word [eax], 0
cmp dword [esp + 0x60], 0xfffffff7
jge 0x422f20
mov eax, 0xffffffff
jmp 0x422f23
lea eax, [esi + 0x12]
push eax
call fcn.00409630
add esp, 4
mov ebx, eax
mov dword [esp + 0x10], 0xe552e719
mov dword [esp + 0x14], 0xe168e35f
mov dword [esp + 0x18], 0xfd4aff5b
mov dword [esp + 0x1c], 0xf944fb40
mov dword [esp + 0x20], 0xf7f8
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x422fa9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add eax, 7
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x7ac82a07
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0x11
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x422f70
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x422fd2
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x422fc0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x423001
lea edx, [esp + 0x12]
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 0x422ff0
mov word [eax], 0
mov dword [esp + 0x10], 0xc4c5daf1
mov byte [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x422d60
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0xaf49060e
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x2b
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x423030
jmp 0x422d60
mov ecx, dword [esp + 0x88]
and cl, 1
or cl, al
mov dword [esp + 0x88], ecx
jmp dword [0x44629c]
push ebx
call fcn.00409640
add esp, 4
jmp dword [0x4462a4]
jmp dword [0x4462a4]
push edi
call fcn.00409640
add esp, 4
mov eax, dword [case.0x420f09.178]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x84], eax
push eax
call fcn.00403290
add esp, 4
mov dword [esp + 0x10], 0x838e9d90
mov dword [esp + 0x14], 0x969beb93
mov dword [esp + 0x18], 0x9b85835b
mov dword [esp + 0x1c], 0x8e83f38b
mov dword [esp + 0x20], 0x8b9e9c9a
mov dword [esp + 0x24], 0x7bfb96
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x17
ja 0x42315b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
mov edi, ecx
and edi, 0x3c1106a6
xor ecx, 0x3c1106a6
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x39
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x18
jb 0x423120
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004033d0
add esp, 8
mov edx, 0xffffffff
mov ebx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add ebx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x423180
shr ebx, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x4231a1
cmp ecx, 0x2e
jne 0x4231a2
dec ebx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x5c], eax
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x44], edx
je 0x4231c0
cmp eax, 0x2e
jne case.0x41e3fd.290
dec ebx
jmp dword [0x446210]
jmp dword [0x446210]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], ebx
lea eax, [ebx + 1]
push eax
call fcn.00409630
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [esp + 0x50], eax
test edx, edx
je 0x4232cc
xor esi, esi
mov ebp, 2
jmp 0x423214
mov edi, ebx
lea eax, [ebp + 4]
add ebp, 2
mov esi, edi
cmp ebp, edx
mov ebp, eax
jae 0x4232cc
mov edi, dword [esp + 0x5c]
movzx eax, byte [edi + ebp - 2]
push eax
call fcn.00415cc0
add esp, 4
mov bh, al
movzx eax, byte [edi + ebp - 1]
push eax
call fcn.00415cc0
mov edx, dword [esp + 0x48]
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
lea ebx, [esi + 1]
mov ecx, dword [esp + 0x50]
mov byte [ecx + esi], ah
cmp ebp, edx
jae 0x423200
mov byte [esp + 0x4f], al
movzx eax, byte [edi + ebp]
push eax
call fcn.00415cc0
mov edx, dword [esp + 0x48]
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x423202
movzx ecx, byte [esp + 0x4f]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
lea edi, [esi + 2]
mov ecx, dword [esp + 0x50]
mov byte [ecx + esi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x423202
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00415cc0
mov edx, dword [esp + 0x48]
add esp, 4
cmp al, 0x40
je 0x423202
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x50]
mov byte [ecx + esi + 2], al
add esi, 3
mov edi, esi
jmp 0x423202
mov ebp, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
jmp dword [0x446218]
test edx, edx
jne 0x42336e
lea eax, [ebx + 1]
push eax
call fcn.00409630
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [esp + 0x50], eax
jmp dword [0x446218]
add ebx, 0xfffffffb
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x50]
add eax, 5
mov dword [esp + 0xc], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x449d40]
call fcn.0043da70
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
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 + 0x44621c]
xor ebx, ebx
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x9c]
jmp dword [0x44623c]
mov edi, 2
jmp 0x423390
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae case.0x420f09.149
mov esi, dword [esp + 0x5c]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00415cc0
add esp, 4
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00415cc0
mov ecx, dword [esp + 0x48]
add esp, 4
cmp edi, ecx
jae 0x423380
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + edi]
push eax
call fcn.00415cc0
mov ecx, dword [esp + 0x48]
add esp, 4
cmp al, 0x40
je 0x423380
lea eax, [edi + 1]
cmp eax, ecx
jae 0x423380
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00415cc0
mov ecx, dword [esp + 0x48]
add esp, 4
jmp 0x423380
mov esi, dword [esp + 0x9c]
lea eax, [esi + 0x10]
cmp dword [esp + 0x60], 0xfffffff8
mov edi, dword [esp + 0x48]
jge 0x42340a
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov ebx, eax
mov dword [esp + 0x10], 0xbadfb888
mov dword [esp + 0x14], 0xbe91bccd
mov dword [esp + 0x18], 0xc2bbc0b5
mov dword [esp + 0x1c], 0xc6c7c4b1
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x58]
cmp eax, 0xf
ja 0x423489
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0xd9d4cb8
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
dec al
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x58]
mov eax, dword [esp + 0x58]
cmp eax, 0x10
jb 0x423450
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x4234b1
lea edx, [edi + 2]
mov eax, ebx
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 0x4234a0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x4234e3
lea edx, [esp + 0x12]
mov edi, dword [esp + 0x84]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4234d0
jmp 0x4234ea
mov edi, dword [esp + 0x84]
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push ebx
call fcn.00409ee0
mov ecx, ebx
mov ebx, eax
jmp dword [0x446224]
push ecx
call fcn.00409640
add esp, 4
push 0xe050b307
push dword [0x449d28]
call fcn.0043da70
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x44623c]
push dword [esp + 0x50]
call fcn.00409640
add esp, 4
push edi
call fcn.00403500
add esp, 4
jmp dword [0x446244]
jmp dword [0x446250]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], 0xbdbcbfbe
lea ecx, [esp + 0x10]
mov byte [ecx + 6], 0
mov word [ecx + 4], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x4235b0
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x75
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x423580
mov ecx, dword [0x449d34]
test ecx, ecx
je case.0x420f09.165
mov edx, dword [esp + 0x10]
xor edi, edi
mov ebp, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x4235e1
inc edi
cmp ecx, edi
jne 0x4235d0
jmp case.0x420f09.165
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
je case.0x420f09.165
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
jmp case.0x420f09.165
jmp dword [0x446254]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], 0xbdbcbfbe
lea ecx, [esp + 0x10]
mov byte [ecx + 6], 0
mov word [ecx + 4], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x423660
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x75
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x423630
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x423600
mov edx, dword [esp + 0x10]
xor edi, edi
mov ebp, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x4236a0
inc edi
cmp ecx, edi
jne 0x423680
jmp 0x423600
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
je 0x423600
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
jmp dword [0x446254]
int3
mov esi, dword [ebp - 0x38]
mov dword [esi], 0xccc4c2c0
mov dword [esi + 4], 0xc8c1ce3c
mov word [esi + 8], 0xf58f
mov byte [esi + 0xa], 0xd0
mov word [esi + 0xb], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xc
ja 0x423751
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx edx, byte [esi + ecx]
lea ecx, [eax + edx]
add ecx, 0x97c429b8
add eax, 0xb8
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0xee
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xd
jb 0x423710
movzx edx, byte [esi]
mov esi, dword [ebp - 0x20]
test dl, dl
je 0x423790
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x20]
mov ecx, esi
jmp 0x42377d
inc esi
mov ecx, esi
mov eax, dword [ebp - 0x38]
movzx edx, byte [eax]
test dl, dl
je 0x423790
mov dh, byte [ecx]
test dh, dh
je 0x4237a0
cmp dh, dl
jne 0x423770
inc ecx
inc eax
jmp 0x423776
jmp dword [0x4462f0]
xor esi, esi
jmp dword [0x4462f0]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x4462f4]
lea edx, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor ecx, ecx
test al, al
je 0x4237df
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x4237df
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4237d0
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
sub ecx, edx
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x4462fc]
xor eax, eax
mov edx, dword [ebp - 0x24]
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x446304]
xor eax, eax
mov edx, dword [ebp - 0x24]
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x44630c]
jmp dword [0x44631c]
xor eax, eax
mov edx, dword [ebp - 0x24]
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x446324]
jmp dword [0x446338]
xor eax, eax
mov edx, dword [ebp - 0x24]
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44633c]
mov eax, ecx
inc eax
mov dword [ebp - 0x28], ecx
lea eax, [ecx + ecx + 2]
jns 0x42386a
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x28]
lea ecx, [eax + ecx*2]
mov edx, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], ecx
cmp eax, ecx
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
jae 0x4238ce
mov edx, dword [ebp - 0x2c]
cmp ebx, edi
jae 0x4238ce
mov edx, dword [ebp - 0x2c]
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x4238ce
lea eax, [ebp - 0x18]
push eax
push edi
push ebx
mov dword [ebp - 0x44], edx
call fcn.0040d1f0
mov edx, dword [ebp - 0x44]
add esp, 0xc
movzx ecx, word [ebp - 0x18]
mov word [edx], cx
add edx, 2
cmp edx, dword [ebp - 0x40]
jae 0x4238ce
add ebx, eax
cmp ebx, edi
jb 0x4238a0
mov word [edx], 0
push 0x60
push 3
push 0x120089
mov edi, dword [ebp - 0x3c]
push edi
push dword [ebp - 0x2c]
call fcn.0043e600
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446344]
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x48]
jmp dword [0x4463d4]
mov ebx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x50]
jmp dword [0x44634c]
push 0
push edi
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.0043e940
add esp, 0xc
nop
push 0
push edi
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.0043e940
add esp, 0xc
jmp dword [0x446358]
mov edi, dword [edi]
test eax, eax
setns al
cmp edi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44635c]
push edi
call fcn.00409630
add esp, 4
push 0
push edi
mov dword [ebp - 0x44], eax
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.0043ea20
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [ebp - 0x2c]
jmp dword [eax*4 + 0x446364]
add ecx, 2
test di, di
je 0x4239a0
mov eax, edx
movzx edi, word [ecx]
mov edx, ecx
cmp di, 0x5c
je 0x423980
mov edx, eax
jmp 0x423980
mov ecx, dword [ebp - 0x2c]
xor edx, edx
jmp dword [0x446374]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44637c]
mov dword [ebp - 0x4c], 0
xor eax, eax
mov ebx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x28]
jmp 0x4239df
sub eax, dword [ebp - 0x2c]
sar eax, 1
lea ecx, [eax + 1]
mov dword [ebp - 0x4c], ecx
not eax
mov edi, dword [ebp - 0x28]
add eax, edi
mov ebx, dword [ebp - 0x54]
add eax, 0x1b
push eax
call fcn.00409630
add esp, 4
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x4c]
sub edi, ecx
mov dword [ebp - 0x28], edi
mov dword [ebx], 0x292d29c6
mov dword [ebx + 4], 0x24381415
mov dword [ebx + 8], 0x2bcff41b
mov dword [ebx + 0xc], 0x9d1e2d27
mov dword [ebx + 0x10], 0x57615fbd
mov dword [ebx + 0x14], 0x9155495b
mov dword [ebx + 0x18], 0xe59790
mov eax, dword [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
ja 0x423a6c
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0x733657b1
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xd2
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1c
jb 0x423a40
movzx edx, byte [ebx]
mov edi, dword [ebp - 0x40]
mov ecx, edi
test dl, dl
je 0x423a8b
mov ebx, dword [ebp - 0x5c]
mov ecx, edi
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x423a80
mov byte [ecx], 0
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x423ac5
mov ebx, dword [ebp - 0x4c]
add ebx, esi
mov edi, dword [ebp - 0x24]
sub edi, ebx
add edi, 0xfffffff5
mov esi, edx
and esi, 3
je 0x423acc
xor edx, edx
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [ecx + edx], bl
inc edx
cmp esi, edx
jne 0x423aab
add ecx, edx
sub dword [ebp - 0x28], edx
mov edx, ecx
jmp 0x423acc
mov edx, ecx
mov esi, dword [ebp - 0x50]
jmp 0x423b10
cmp edi, 3
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x28]
jb 0x423b10
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx + 2], dl
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
lea edx, [ecx + 4]
mov byte [ecx + 3], bl
mov ecx, edx
add edi, 0xfffffffc
jne 0x423ad7
mov byte [edx], 0
mov ecx, dword [ebp + 8]
push dword [esi]
push dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push esi
call fcn.0040a090
mov ecx, dword [ebp - 0x30]
and cl, 1
or cl, al
mov dword [ebp - 0x30], ecx
mov ebx, dword [ebp - 0x48]
jmp dword [0x446394]
push esi
call fcn.00409640
add esp, 4
jmp dword [0x4463ac]
jmp dword [0x4463ac]
push dword [ebp - 0x44]
call fcn.00409640
add esp, 4
mov eax, dword [case.0x4238f0.6]
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x18], 0xbdbcbfbe
lea ecx, [ebp - 0x14]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x1c]
cmp ecx, 6
ja 0x423bbe
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
movzx edx, byte [ebp + edx - 0x18]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0x75
mov edx, dword [ebp - 0x1c]
mov byte [ebp + edx - 0x18], cl
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
cmp ecx, 7
jb 0x423b90
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x423bf8
mov edx, dword [ebp - 0x18]
xor esi, esi
mov edi, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423bf0
inc esi
cmp ecx, esi
jne 0x423be0
jmp 0x423bf8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423c26
mov edi, dword [ebp - 0x34]
jmp dword [0x4463d4]
push dword [ebp - 0x2c]
call fcn.00409640
add esp, 4
nop
nop
nop
nop
jmp dword [0x4463e4]
jmp dword [0x4462e8]
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
mov edi, dword [ebp - 0x34]
jmp dword [0x4463d4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4462cc]
xor eax, eax
jmp dword [0x4463f4]
push ebx
mov esi, eax
call fcn.00409640
mov eax, esi
add esp, 4
jmp dword [0x4463fc]
push 0
mov esi, dword [ebp - 0x24]
push esi
push dword [edi]
call fcn.0043e940
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x30], 0
jmp dword [eax*4 + 0x4462d4]
mov esi, dword [esi]
lea eax, [esi + 1]
push eax
call fcn.00409630
add esp, 4
push 0
push esi
mov dword [ebp - 0x58], eax
push eax
push dword [edi]
call fcn.0043ea20
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x30], 0
jmp dword [eax*4 + 0x4462dc]
jmp dword [0x4463ec]
push dword [ebp - 0x58]
call fcn.00409640
add esp, 4
mov eax, dword [edi]
mov dword [ebp - 0x18], 0xbdbcbfbe
mov word [ebp - 0x14], 0
mov byte [ebp - 0x12], 0
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x1c]
cmp ecx, 6
ja 0x423d1e
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
movzx edx, byte [ebp + edx - 0x18]
add ecx, 0x5b20f734
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0x75
mov edx, dword [ebp - 0x1c]
mov byte [ebp + edx - 0x18], cl
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
cmp ecx, 7
jb 0x423cf0
mov ecx, dword [0x449d34]
test ecx, ecx
je 0x423d5c
mov edx, dword [ebp - 0x18]
xor esi, esi
mov edi, dword [0x449d38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423d50
inc esi
cmp ecx, esi
jne 0x423d40
jmp 0x423d5c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423e26
mov eax, dword [ebp - 0x30]
and al, 1
jmp dword [0x4463f4]
jmp dword [0x4463fc]
nop
nop
nop
jmp dword [0x446404]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], ecx
jmp dword [0x4462e8]
mov esi, dword [ebp - 0x38]
mov dword [esi], 0xccc4c2c0
mov dword [esi + 4], 0xc8c1ce3c
mov word [esi + 8], 0xf58f
mov byte [esi + 0xa], 0xd0
mov word [esi + 0xb], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xc
ja case.0x420f09.203
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx edx, byte [esi + ecx]
lea ecx, [eax + edx]
add ecx, 0x97c429b8
add eax, 0xb8
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0xee
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xd
jb 0x423de0
jmp case.0x420f09.203
push eax
push 1
push dword [0x449d3c]
push ecx
call fcn.0043c4a0
add esp, 0x10
mov eax, dword [ebp - 0x30]
and al, 1
jmp dword [0x4463f4]
push eax
mov dword [ebp - 0x20], esp
sub esp, 0x44
mov eax, esp
sub esp, 0x44
mov ebx, esp
push eax
mov dword [ebp - 0x34], esp
mov ecx, dword [0x449d30]
mov dword [eax], 0x8e4c8c6e
mov dword [eax + 4], 0x8a39883f
mov dword [eax + 8], 0x96349447
mov dword [eax + 0xc], 0x9230902b
mov dword [eax + 0x10], 0x9e399c7e
mov dword [eax + 0x14], 0x9a2e9849
mov dword [eax + 0x18], 0x66c86427
mov dword [eax + 0x1c], 0x62c060d7
mov dword [eax + 0x20], 0x6e866ccf
mov dword [eax + 0x24], 0x6acd6884
mov dword [eax + 0x28], 0x76d874d8
mov dword [eax + 0x2c], 0x72c270c4
mov dword [eax + 0x30], 0x7eca7cda
mov dword [eax + 0x34], 0x7a8f78c9
mov dword [eax + 0x38], 0x46f044c3
mov dword [eax + 0x3c], 0x424140f3
mov word [eax + 0x40], 0
mov byte [eax + 0x42], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x42
ja 0x423f2b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [eax + esi]
lea edi, [edx + 0x2567eb67]
add edx, esi
add edx, 0x2567eb67
not esi
or edi, esi
sub esi, edi
lea edx, [edx + esi*2]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
add dl, 0x1c
mov esi, dword [ebp - 0x10]
mov byte [eax + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x43
jb 0x423ef0
mov esi, dword [ebp - 0x20]
push esi
push 0
push 0
push 0x1f
push eax
push 0
call ecx
mov edi, dword [esi]
lea eax, [edi + edi]
test edi, edi
jns 0x423f48
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov esi, eax
mov eax, dword [0x449d30]
mov dword [ebp - 0x38], eax
mov dword [ebx], 0x2264247a
mov dword [ebx + 4], 0x1eb120b3
mov dword [ebx + 8], 0x1abc1ca3
mov dword [ebx + 0xc], 0x16b81897
mov dword [ebx + 0x10], 0x12b1144a
mov dword [ebx + 0x14], 0xe8210a1
mov dword [ebx + 0x18], 0xa900c83
mov dword [ebx + 0x1c], 0x6a8089b
mov dword [ebx + 0x20], 0x252049b
mov dword [ebx + 0x24], 0x7ea50054
mov dword [ebx + 0x28], 0x7ae07cf0
mov dword [ebx + 0x2c], 0x76f678f4
mov dword [ebx + 0x30], 0x72e674ee
mov dword [ebx + 0x34], 0x6e2370e1
mov dword [ebx + 0x38], 0x6af86ce7
mov dword [ebx + 0x3c], 0x666968ff
mov byte [ebx + 0x40], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x40
ja 0x42401f
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx eax, byte [ebx + edx]
lea edx, [ecx + eax]
add edx, 0xf0c2bb19
add ecx, 0x19
and ecx, eax
mov eax, edx
not eax
and eax, ecx
add eax, ecx
not ecx
and ecx, edx
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
add al, 0xc2
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x41
jb 0x423fe0
push dword [ebp - 0x20]
push edi
push esi
push 0x1f
push ebx
push 0
call dword [ebp - 0x38]
push 0x60
push 3
push 0x120089
push dword [ebp - 0x34]
push esi
call fcn.0043e600
add esp, 0x14
push eax
mov dword [ebp - 0x20], esp
sub esp, 0x44
mov eax, esp
sub esp, 0x44
mov esi, esp
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x24], esp
sub esp, 0x10
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x50], esp
sub esp, 0x1c
mov dword [ebp - 0x54], esp
mov ecx, dword [0x449d30]
mov dword [eax], 0x8e4c8c6e
mov dword [eax + 4], 0x8a39883f
mov dword [eax + 8], 0x96349447
mov dword [eax + 0xc], 0x9230902b
mov dword [eax + 0x10], 0x9e399c7e
mov dword [eax + 0x14], 0x9a2e9849
mov dword [eax + 0x18], 0x66c86427
mov dword [eax + 0x1c], 0x62c060d7
mov dword [eax + 0x20], 0x6e866ccf
mov dword [eax + 0x24], 0x6acd6884
mov dword [eax + 0x28], 0x76d874d8
mov dword [eax + 0x2c], 0x72c270c4
mov dword [eax + 0x30], 0x7eca7cda
mov dword [eax + 0x34], 0x7a8f78c9
mov dword [eax + 0x38], 0x46f044c3
mov dword [eax + 0x3c], 0x424140f3
mov word [eax + 0x40], 0
mov byte [eax + 0x42], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x42
ja 0x42413b
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [eax + ebx]
lea edi, [edx + 0x2567eb67]
add edx, ebx
add edx, 0x2567eb67
not ebx
or edi, ebx
sub ebx, edi
lea edx, [edx + ebx*2]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
add dl, 0x1c
mov edi, dword [ebp - 0x10]
mov byte [eax + edi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x43
jb 0x424100
mov edi, dword [ebp - 0x20]
push edi
push 0
push 0
push 0x1f
push eax
push 0
call ecx
mov ebx, dword [edi]
lea eax, [ebx + ebx]
test ebx, ebx
jns 0x424158
mov eax, 0xffffffff
push eax
call fcn.00409630
add esp, 4
mov dword [ebp - 0x48], eax
mov eax, dword [0x449d30]
mov dword [esi], 0x2264247a
mov dword [esi + 4], 0x1eb120b3
mov dword [esi + 8], 0x1abc1ca3
mov dword [esi + 0xc], 0x16b81897
mov dword [esi + 0x10], 0x12b1144a
mov dword [esi + 0x14], 0xe8210a1
mov dword [esi + 0x18], 0xa900c83
mov dword [esi + 0x1c], 0x6a8089b
mov dword [esi + 0x20], 0x252049b
mov dword [esi + 0x24], 0x7ea50054
mov dword [esi + 0x28], 0x7ae07cf0
mov dword [esi + 0x2c], 0x76f678f4
mov dword [esi + 0x30], 0x72e674ee
mov dword [esi + 0x34], 0x6e2370e1
mov dword [esi + 0x38], 0x6af86ce7
mov dword [esi + 0x3c], 0x666968ff
mov byte [esi + 0x40], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x40
ja 0x424230
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edi, byte [esi + edx]
lea edx, [ecx + edi]
add edx, 0xf0c2bb19
add ecx, 0x19
and ecx, edi
mov edi, edx
not edi
and edi, ecx
add edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xc2
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x41
jb 0x4241f0
push dword [ebp - 0x20]
push ebx
mov ebx, dword [ebp - 0x48]
push ebx
push 0x1f
push esi
push 0
call eax
push 0x60
push 3
push 0x120089
mov edi, dword [ebp - 0x34]
push edi
push ebx
call fcn.0043e600
add esp, 0x14
jmp dword [0x4462c4]
int3
fild dword [ecx]
aam 0xf1
inc ecx
add ah, dl
int1
inc ecx
add dh, cl
fild dword [ecx]
ljmp 0x41dc
pushal
int1
inc ecx
add byte [eax - 0xf], ah
inc ecx
add byte [eax - 0xf], al
inc ecx
add byte [ecx + esi*8 + 0x41], cl
add byte [eax], dh
in al, 0x41
add byte [eax - 0x59ffbe24], ah
fadd qword [ecx]
cmpsb byte [esi], byte es:[edi]
fadd qword [ecx]
cmpsb byte [esi], byte es:[edi]
fld qword [ecx]
nop
fld qword [ecx]
loope 0x4457dc
inc ecx
add al, dl
fiadd word [ecx]
adc edi, ebx
inc ecx
add byte [eax], ah
jecxz 0x44584c
add byte [ebx - 0x60ffbe21], al
fild word [ecx]
mov al, 0xdf
inc ecx
add byte [esi - 0x20], bh
inc ecx
add byte [eax - 0x1f], ah
inc ecx
add byte [eax - 0x21], al
inc ecx
add byte [ebx + 0x10041e0], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], bh
loop 0x445878
add byte [edx + 0x41], cl
add byte [ebp - 0x1e], dl
inc ecx
add byte [eax], dl
in al, 0x41
add byte [eax], dh
fadd qword [ecx]
mov ecx, 0xc60041f3
inc ecx
add al, dl
inc ecx
add al, dl
inc ecx
add al, dl
inc ecx
add dl, dl
inc ecx
add al, ah
inc ecx
add al, ah
inc ecx
add dl, ah
inc ecx
add al, ah
inc ecx
add byte [0x950041f7], ah
std
inc ecx
add byte [edi + esi*8], ch
invalid
sub al, 0xf7
inc ecx
add byte [eax - 7], al
inc ecx
add byte [eax], dl
stc
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [ebp - 0x4affbe01], dh
inc dword [ecx]
nop
stc
inc ecx
add byte [ecx - 6], dl
inc ecx
add ch, cl
cli
inc ecx
add al, ah
cli
inc ecx
add byte [eax], al
sti
inc ecx
add byte [eax], dh
sti
inc ecx
add ah, ch
sti
inc ecx
add dl, ch
sti
inc ecx
add byte [0xec0041fb], ah
cli
inc ecx
add dh, al
cld
inc ecx
add byte [eax - 6], al
inc ecx
add byte [esi], bh
stc
inc ecx
add byte [eax - 3], dl
inc ecx
add byte [ecx - 3], al
inc ecx
add byte [ecx - 3], al
inc ecx
add byte [eax - 7], al
inc ecx
add byte [eax - 3], dh
inc ecx
add byte [edx - 3], dh
inc ecx
add byte [edx - 3], dh
inc ecx
add byte [ecx + 0x100041fd], al
test dword [ecx], case.0x41e3fd.30
xchg ebp, eax
std
inc ecx
add byte [ecx - 0x69ffbe03], ch
inc dword [ecx]
lahf
inc dword [ecx]
lahf
inc dword [ecx]
push edi
cli
inc ecx
add byte [eax - 3], dh
inc ecx
add byte [edi], cl
add eax, 0x4f30042
inc edx
add byte [edi], cl
add eax, 0x5150042
inc edx
add byte [ecx - 0x28ffbdf7], dl
add eax, 0xaac0042
inc edx
add byte [ebp + 9], dh
inc edx
add byte [edi], ah
push es
inc edx
add byte [ecx], ch
push es
inc edx
add byte [esi + eax + 0x42], cl
add byte [eax + 0x6b004206], al
push es
inc edx
add byte [eax - 0x76ffbdfa], al
push es
inc edx
add byte [ecx - 0x4effbdfa], dh
push es
inc edx
add byte [ecx - 0x40ffbdfa], dh
push es
inc edx
add bh, ch
push es
inc edx
add byte [eax + ecx + 0x42], ah
add byte [ebx + 8], dh
inc edx
add byte [edx - 0x7dffbdf8], al
or byte [edx], al
cmpsb byte [esi], byte es:[edi]
or byte [edx], al
adc dword [ecx], ecx
inc edx
add byte [edi], cl
or dword [edx], eax
mov eax, dword [0x10004208]
push es
inc edx
add byte [eax], dl
push es
inc edx
add byte [eax], dl
push es
inc edx
add byte [eax - 0x78ffbdf7], ah
or dword [edx], eax
push ebp
or al, byte [edx]
pop esi
or al, byte [edx]
pop esi
or al, byte [edx]
xchg ecx, eax
or dword [edx], eax
syscall
inc edx
add byte [eax - 0x60ffbdf6], dl
or al, byte [edx]
push 8
inc edx
add byte [edx + ecx + 0xc520042], al
inc edx
add byte [edx], dh
cmovb eax, dword [eax]
ror byte [edx], 1
inc edx
add byte [esi - 0x51ffbddd], ch
and eax, dword [edx]
and byte [edx + eax*2], cl
add cl, ah
or eax, dword [edx]
adc cl, byte [edx + eax*2]
add byte [ebx], bl
or eax, 0xde00042
inc edx
add ah, ch
or eax, 0xdf40042
inc edx
add byte [eax], al
push cs
inc edx
add byte [eax], al
push cs
inc edx
add byte [eax], al
push cs
inc edx
add byte [eax], dl
cmovb eax, dword [eax]
scasb al, byte es:[edi]
push cs
inc edx
add ah, bl
push cs
inc edx
add bl, cl
push cs
inc edx
add ah, bl
push cs
inc edx
add byte [eax], dl
cmovb eax, dword [eax]
and byte [edx + eax*2], cl
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x51ffbddd], ch
and eax, dword [edx]
xor al, 0xc
inc edx
add byte [edi + ecx], ah
inc edx
add byte [ebx + 0xc], al
inc edx
add byte [eax + 0xc], dl
inc edx
add byte [edx + 0xc], dl
inc edx
add byte [edx], dh
cmovb eax, dword [eax]
imul ecx, dword [edi], 0xf400042
inc edx
add byte [ebx + 0x10], bh
inc edx
add byte [esi - 0x53ffbdef], ah
adc dword [edx], eax
leave
adc dword [edx], eax
fst dword [ecx]
inc edx
add byte [esi - 0x1fffbddd], ch
and byte [edx], al
xchg byte [ecx], ah
inc edx
add byte [esi - 0x67ffbddf], al
and dword [edx], eax
scasb al, byte es:[edi]
and eax, dword [edx]
scasb al, byte es:[edi]
and eax, dword [edx]
add dword [eax], eax
add byte [eax], al
scasb al, byte es:[edi]
and eax, dword [edx]
push esi
push ss
inc edx
add byte [edi + 0x16], bh
inc edx
add byte [edi + 0x10004216], dh
pop ss
inc edx
add byte [edi + edx + 0x42], bl
add byte [eax + 0x17], bh
inc edx
add byte [esp + ebx + 0x23ae0042], bl
inc edx
add byte [esi + 0x3c004223], ch
sbb byte [edx], al
in eax, dx
sbb al, 66
add byte [eax + ebx], bh
inc edx
add byte [eax + ebx], bh
inc edx
add byte [ebp + 0x18], cl
inc edx
add byte [edx + 0x18], ch
inc edx
add byte [edx + 0x18], ch
inc edx
add byte [eax + 0x18], dh
inc edx
add byte [ecx + 0x18], bh
inc edx
add byte [ecx + 0x18], bh
inc edx
add byte [ecx + 0x18], bh
inc edx
add dl, al
and dword [edx], eax
shl dword [ecx], cl
inc edx
add byte [esi], dl
sbb dword [edx], eax
push ss
sbb dword [edx], eax
ljmp 0x4219
stc
inc ecx
add byte [eax - 7], al
inc ecx
add byte [esi], bh
stc
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [eax + 0x510041f9], dl
cli
inc ecx
add byte [edi - 6], dl
inc ecx
add ch, cl
cli
inc ecx
add al, ah
cli
inc ecx
add ch, cl
cli
inc ecx
add ah, ch
cli
inc ecx
add byte [eax], al
sti
inc ecx
add byte [0x300041fb], ah
sti
inc ecx
add dl, ch
sti
inc ecx
add ah, ch
sti
inc ecx
add dh, al
cld
inc ecx
add byte [eax - 6], al
inc ecx
add byte [ecx - 3], al
std
std
inc ecx
add byte [eax - 3], dl
inc ecx
add byte [eax - 3], dh
inc ecx
add byte [eax - 3], dh
inc ecx
add byte [edx - 3], dh
inc ecx
add byte [eax - 3], dh
inc ecx
add byte [ecx + 0x100041fd], al
test dword [ecx], case.0x41e3fd.31
and eax, 0x950041f7
std
inc ecx
add byte [0x9f0041f7], ah
inc dword [ecx]
test eax, 0x960041fd
inc dword [ecx]
lahf
inc dword [ecx]
add al, 0x42
add byte [edi], cl
add eax, 0x50f0042
inc edx
add byte [0xd7004205], dl
add eax, 0x9910042
inc edx
add byte [ebp + 9], dh
inc edx
add byte [edi], ah
push es
inc edx
add byte [edi - 0x5fffbdf7], al
or dword [edx], eax
imul eax, dword [esi], 0x42
add byte [eax + 268452358], al
push es
inc edx
add byte [ecx + 0x10004206], cl
push es
inc edx
add byte [edi + 0x10004206], bh
push es
inc edx
add bh, ch
push es
inc edx
add byte [eax + ecx + 0x42], ah
add byte [edx + 0x73004208], al
or byte [edx], al
push 8
inc edx
add byte [edx + 8], ch
inc edx
add byte [edx - 0x5effbdf8], al
or byte [edx], al
cmpsb byte [esi], byte es:[edi]
or byte [edx], al
wbinvd
inc edx
add byte [ecx], dl
or dword [edx], eax
push ebp
or al, byte [edx]
pop esi
or al, byte [edx]
nop
or al, byte [edx]
test byte [edx], cl
inc edx
add byte [eax - 0x60ffbdf6], dl
or al, byte [edx]
xor cl, byte [edi]
inc edx
add al, dl
or al, byte [edx]
loope 0x445f99
invalid
or eax, dword [edx]
and byte [edx + eax*2], cl
inc edx
add byte [eax], ah
or al, 0x42
add byte [eax], al
push cs
inc edx
add byte [edx], dl
or al, 0x42
add byte [eax + 0xc], ah
inc edx
add byte [ebx], bl
or eax, 0xde00042
inc edx
add byte [eax + 0xc], ah
inc edx
add byte [eax], al
push cs
inc edx
add ah, ch
or eax, 0xdf40042
inc edx
add byte [eax], al
push cs
inc edx
add byte [esi + 0x1000420e], ch
push cs
inc edx
add byte [eax], dl
push cs
inc edx
add byte [eax], dl
cmovb eax, dword [eax]
retf
cmp byte [edx], al
add edi, dword [ecx]
inc edx
add byte [eax], ah
cmp dword [edx], eax
invalid