Function at 0x4152d0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x428
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x4152f0
sar esi, 1
lea ecx, [esp + 0x7c]
push ecx
push 0
push 0
push esi
push eax
push 0
call dword [0x44d2fc]
mov dword [esp + 0xe8], 0x195a5b61
mov dword [esp + 0xec], 0
mov ecx, 0x8f
mov edi, 0x70
movzx edx, byte [esp + ecx + 0x59]
mov ebx, ecx
xor ebx, edi
and ebx, edx
xor ebx, edi
mov dl, 0x34
sub dl, bl
mov byte [esp + ecx + 0x59], dl
inc ecx
dec edi
cmp ecx, 0x97
jne case.default.0x41535b
xor ecx, ecx
cmp eax, dword [esp + 0xe8]
setne cl
jmp dword [ecx*4 + 0x446b6c]
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jns 0x415388
mov eax, 0xffffffff
jmp 0x41538b
xor eax, eax
jmp dword [0x446b80]
lea eax, [ebx + ebx]
push eax
call fcn.004097b0
add esp, 4
lea ecx, [esp + 0x7c]
push ecx
push ebx
mov dword [esp + 0x34], eax
push eax
push esi
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
push 0
call dword [0x44d2fc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446b84]
xor eax, eax
jmp dword [0x446b8c]
push dword [esp + 0x2c]
jmp 0x4169a6
mov eax, dword [esp + 0x7c]
mov ecx, eax
add ecx, 0xd
jns 0x4153dd
mov eax, 0xffffffff
jmp 0x4153e4
lea eax, [eax*2 + 0x1a]
push eax
call fcn.004097b0
add esp, 4
mov edi, eax
mov dword [esp + 0xe8], 0x37e239dc
mov dword [esp + 0xec], 0x33bd35d5
mov dword [esp + 0xf0], 0xcfee31bc
mov dword [esp + 0xf4], 0xcb37cd26
mov dword [esp + 0xf8], 0xc749c946
mov dword [esp + 0xfc], 0xc331c53d
mov dword [esp + 0x100], 0xdfdec132
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x76
xor cl, byte [esp + eax + 0xe8]
add cl, 0xb2
mov byte [esp + eax + 0xe8], cl
inc eax
cmp eax, 0x1c
jne 0x415440
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x415491
mov eax, dword [esp + 0x2c]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415480
mov word [eax], 0
movzx ecx, word [esp + 0xe8]
test cx, cx
je 0x4154c1
lea edx, [esp + 0xea]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4154b0
mov word [eax], 0
lea eax, [esp + 0x2a0]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.0043fdd0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446b94]
lea eax, [esp + 0x34]
push 0
push eax
push dword [esp + 0x2a8]
call fcn.00440100
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446b9c]
mov esi, dword [esp + 0x34]
push esi
call fcn.004097b0
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x2ac]
call fcn.004401c0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446ba4]
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x415550
cmp eax, 0xffffffd7
mov dword [esp + 0x24], ebx
jge 0x41556f
mov dword [esp + 0x78], edi
mov eax, 0xffffffff
jmp 0x415576
mov dword [esp + 0x78], edi
add eax, 0x28
push eax
call fcn.004097b0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0xe8], 0xcf08c91b
mov dword [esp + 0xec], 0xc351cd5a
mov dword [esp + 0xf0], 0xc751c14b
mov dword [esp + 0xf4], 0xbb2cc561
mov dword [esp + 0xf8], 0xbf1bb912
mov dword [esp + 0xfc], 0xb325bd2a
mov dword [esp + 0x100], 0xb725b129
mov dword [esp + 0x104], 0xab78b526
mov dword [esp + 0x108], 0xaf26a93c
mov dword [esp + 0x10c], 0xa3a2ad38
mov byte [esp + 0x110], 0
lea eax, [esp + 0xe8]
xor edi, edi
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edi
and ecx, 0x8e33a79c
mov edx, ebx
xor edx, 0x38e62c31
sub edx, ecx
mov ecx, 0xfffffffe
sub ecx, edx
inc edx
xor ecx, 0x8bc75b6
and edx, 0x8bc75b6
or edx, ecx
movzx ecx, byte [eax]
xor edx, ecx
mov ecx, edx
xor ecx, 0xeb3d56b2
add edx, edx
and edx, 0xc7024608
xor edx, 0xc6020400
sub edx, ecx
mov ecx, edx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [eax], cl
inc eax
dec ebx
add edi, 0xfffffffe
cmp ebx, 0xffffffd7
jne 0x415610
movzx ecx, word [esi]
mov eax, dword [esp + 4]
test cx, cx
mov edi, dword [esp + 0x78]
je 0x4156a1
add esi, 2
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x415690
mov word [eax], 0
movzx esi, word [esp + 0xe8]
test si, si
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 0x24]
je 0x4156e1
lea edx, [esp + 0xea]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], si
add eax, 2
movzx esi, word [edx]
add edx, 2
test si, si
jne 0x4156d0
mov word [eax], 0
push dword [esp + 0x34]
push ebx
mov esi, dword [esp + 0xc]
push esi
call fcn.0040a390
jmp dword [0x446bac]
push esi
call fcn.004097c0
add esp, 4
jmp dword [0x446bb4]
jmp dword [0x446bc0]
jmp dword [0x446bb4]
push ebx
call fcn.004097c0
add esp, 4
jmp dword [0x446bc0]
xor ebx, ebx
push 0xa7ffa4f5
push dword [0x44c2f4]
call fcn.0043f2d0
add esp, 8
push dword [esp + 0xac]
call eax
jmp 0x416d4f
mov edi, dword [esp + 0x28]
inc edi
mov esi, dword [esp + 0x30]
push esi
call fcn.00401f10
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
jmp dword [ecx*4 + 0x446d94]
push edi
push esi
call fcn.00401f20
add esp, 8
mov esi, eax
movzx ecx, byte [eax]
test cl, cl
mov dword [esp + 0x28], edi
je 0x4157ca
lea eax, [esi + 1]
xor ebx, ebx
jmp 0x415799
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
je 0x4157cc
movzx edx, cl
mov edi, edx
and edi, 0xfffffff0
cmp edi, 0xe0
je 0x415790
test cl, cl
jns 0x415790
mov ecx, edx
and ecx, 0xffffffe0
cmp ecx, 0xc0
je 0x415790
and edx, 0xfffffff8
cmp edx, 0xf0
jne 0x415791
add ebx, 2
jmp 0x415791
xor ebx, ebx
mov edi, ebx
inc edi
jns 0x4157d8
mov eax, 0xffffffff
jmp 0x4157df
lea eax, [ebx*2 + 2]
push eax
call fcn.004097b0
add esp, 4
push 0
push esi
push edi
mov dword [esp + 0x18], eax
push eax
call fcn.0040be80
add esp, 0x10
mov dword [esp + 0x34], 0x3300139
mov dword [esp + 0x38], 0x75e0536
mov word [esp + 0x3c], 0x908
lea eax, [esp + 0x3c]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov eax, 0x78c6a580
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x78c6a54c]
xor ecx, eax
mov edx, ecx
xor edx, 0x7e
and ecx, 0x7e
lea ecx, [edx + ecx*2]
add cl, 2
mov byte [esp + eax - 0x78c6a54c], cl
inc eax
cmp eax, 0x78c6a590
jne 0x415830
lea eax, [esp + 0x34]
lea edi, [esp + 0x9e]
mov ecx, 2
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
lea edi, [esp + 0xa6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [0x4466c0]
mov esi, 0xa68bf7ee
xor ecx, esi
mov eax, ecx
mov edi, 0x66666667
imul edi
mov eax, edx
shr eax, 0x1f
shr edx, 2
add edx, eax
add edx, edx
lea eax, [edx + edx*4]
neg eax
add eax, ecx
add eax, 0x30
mov word [esp + 0xa4], ax
call fcn.00409f00
mov ecx, eax
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, dword [0x4466c0]
xor eax, esi
add eax, ecx
inc eax
xor eax, 0xa68bf7ee
mov dword [0x4466c0], eax
mov dword [esp + 0x268], 0x18
lea eax, [esp + 0x26c]
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x34], 0x1c1d1a1b
mov dword [esp + 0x38], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x34]
lea ecx, [eax - 0x39f3ff06]
xor ecx, edx
neg ecx
mov edx, ecx
and edx, 0x63
add edx, edx
xor ecx, 0x1c
sub ecx, edx
add cl, 2
mov byte [esp + eax + 0x34], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x415930
mov eax, dword [esp + 0x34]
mov ecx, dword [0x44d300]
test ecx, ecx
je case.default.0x4159c3
xor edx, edx
mov esi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x933fb3da
je 0x415990
inc edx
cmp ecx, edx
jne 0x415980
jmp case.default.0x4159c3
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je case.default.0x4159c3
lea eax, [esp + 0x268]
push eax
push 0x1f003f
lea eax, [esp + 0x88]
push eax
push 0xc
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x18
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446da4]
mov dword [esp + 0x34], 0x1c1d1a1b
mov dword [esp + 0x38], 0
xor eax, eax
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x34]
lea ecx, [eax - 0x39f3ff06]
xor ecx, edx
neg ecx
mov edx, ecx
and edx, 0x63
add edx, edx
xor ecx, 0x1c
sub ecx, edx
add cl, 2
mov byte [esp + eax + 0x34], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x4159e0
mov eax, dword [esp + 0x34]
mov ecx, dword [0x44d300]
test ecx, ecx
je case.default.0x415a6f
xor edx, edx
mov esi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb03b7ac0
je 0x415a40
inc edx
cmp ecx, edx
jne 0x415a30
jmp case.default.0x415a6f
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je case.default.0x415a6f
push 1
push 0
push 0x1f0003
lea eax, [esp + 0xa4]
push eax
push 0x10
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446dac]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x298], ecx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x29c], eax
mov dword [esp + 0x34], 0x1c1d1a1b
mov dword [esp + 0x38], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x34]
lea edx, [eax - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + eax + 0x34], dl
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 8
jb 0x415ab0
mov eax, dword [esp + 0x34]
mov edx, dword [0x44d300]
test edx, edx
je case.default.0x415b33
xor esi, esi
mov edi, dword [0x44d304]
cmp dword [edi + esi*8], 0x9785458
je 0x415b08
inc esi
cmp edx, esi
jne 0x415af8
jmp case.default.0x415b33
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je case.default.0x415b33
push 8
lea eax, [esp + 0x29c]
push eax
push 7
push ecx
push 0x10
push edx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446db4]
mov dword [esp + 0x34], 0xb341431a
mov byte [esp + 0x38], 0x24
lea eax, [esp + 0x3c]
mov byte [eax - 1], 0
mov word [eax - 3], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x38
xor cl, byte [esp + eax + 0x34]
add cl, 0xe8
mov byte [esp + eax + 0x34], cl
inc eax
cmp eax, 8
jne 0x415b60
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x34]
test cl, cl
je 0x415b92
lea edx, [esp + 0x35]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x415b87
mov byte [eax], 0
mov dword [esp + 0x10], eax
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x415bb0
sar eax, 1
lea ecx, [ebx + eax]
add ecx, 0x37
test ecx, ecx
jns 0x415bce
mov eax, 0xffffffff
jmp 0x415bd7
add ebx, eax
lea eax, [ebx*2 + 0x6e]
push eax
call fcn.004097b0
add esp, 4
mov ebx, eax
mov word [eax], 0x22
mov dword [esp + 0xa8], 0xb9e9bba4
mov dword [esp + 0xac], 0xbd2ebfeb
mov dword [esp + 0xb0], 0xb123b32a
mov dword [esp + 0xb4], 0xb529b72a
mov dword [esp + 0xb8], 0xa931ab28
mov dword [esp + 0xbc], 0xadcaaffb
mov dword [esp + 0xc0], 0xa134a333
mov dword [esp + 0xc4], 0xa5c3a73b
mov dword [esp + 0xc8], 0xd94bdb30
mov dword [esp + 0xcc], 0xdd51df4e
mov dword [esp + 0xd0], 0xd1f4d39f
mov word [esp + 0xd4], 0xd7d0
lea eax, [esp + 0xd6]
mov word [eax + 4], 0
mov dword [eax], 0
mov eax, 0xe0
mov ecx, 0x7b43b31f
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x7b43b277]
mov esi, eax
xor esi, ecx
and esi, edx
xor esi, ecx
mov edx, esi
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
add dl, 0x64
mov byte [esp + ecx - 0x7b43b277], dl
dec eax
inc ecx
cmp eax, 0xac
jne 0x415c90
mov dword [esp + 0x34], 0xcfeec9ee
mov dword [esp + 0x38], 0xc39fcd91
mov dword [esp + 0x3c], 0xc7a3c156
mov dword [esp + 0x40], 0xfb69c559
mov dword [esp + 0x44], 0xff9bf96c
mov dword [esp + 0x48], 0xf396fda1
mov dword [esp + 0x4c], 0xf790f195
mov dword [esp + 0x50], 0xeb71f561
mov dword [esp + 0x54], 0xef77e973
mov dword [esp + 0x58], 0xe379ed7e
mov dword [esp + 0x5c], 0xe776e1bd
mov dword [esp + 0x60], 0x1b8ce577
mov dword [esp + 0x64], 0x1f53198c
mov word [esp + 0x68], 0x1d1c
lea eax, [esp + 0x3c]
mov byte [eax + 0x30], 0
mov word [eax + 0x2e], 0
mov eax, 0xf99b2a52
movzx ecx, byte [esp + eax + 0x664d5e2]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x66
mov byte [esp + eax + 0x664d5e2], cl
inc eax
cmp eax, 0xf99b2a8b
jne 0x415d40
mov eax, ebx
add eax, 2
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx]
test cx, cx
je 0x415d90
mov edx, dword [esp + 0xdc]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415d7f
mov word [eax], 0
movzx ecx, word [esp + 0x34]
test cx, cx
je 0x415db4
lea edx, [esp + 0x36]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415da3
mov word [eax], 0
movzx ecx, word [esp + 0x9e]
test cx, cx
je 0x415dde
lea edx, [esp + 0xa0]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415dcd
mov word [eax], 0
movzx ecx, word [esp + 0xa8]
test cx, cx
je 0x415e08
lea edx, [esp + 0xaa]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415df7
mov word [eax], 0
mov edx, dword [esp + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x415e2d
add edx, 2
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415e1c
mov dword [eax], 0x22
lea eax, [esp + 0x3c]
mov dword [eax + 0x38], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax - 4], 0
mov dword [esp + 0x34], 0x44
xor eax, eax
cmp dword [esp + 0x2a0], 0
setne al
jmp dword [eax*4 + 0x446dbc]
xor eax, eax
jmp 0x415ecd
lea eax, [esp + 0x2a4]
mov dword [esp + 0x3c], eax
push 0xef6ed546
push dword [0x44c2f4]
call fcn.0043f2d0
add esp, 8
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
push ecx
push 0
push 0
push 0xc
push 0
push 0
push 0
push ebx
push dword [esp + 0x38]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446dc4]
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x18], 0x1c1d1a1b
mov dword [esp + 0x1c], 0
xor edx, edx
movzx esi, byte [esp + edx + 0x18]
lea ebx, [edx - 0x39f3ff06]
xor ebx, esi
neg ebx
mov esi, ebx
and esi, 0x63
add esi, esi
xor ebx, 0x1c
sub ebx, esi
add bl, 2
mov byte [esp + edx + 0x18], bl
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
cmp edx, 8
jb 0x415f36
mov edx, dword [0x44d300]
test edx, edx
je 0x415fa9
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov edi, dword [0x44d304]
cmp dword [edi + ebx*8], 0xe137e14b
je 0x415f8e
inc ebx
cmp edx, ebx
jne 0x415f7e
jmp 0x415fa9
mov edx, dword [edi + ebx*8 + 4]
cmp edx, esi
je 0x415fa9
push ecx
push eax
push 8
push edx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x14
mov eax, dword [esp + 0xac]
mov dword [esp + 0x18], 0x1c1d1a1b
mov dword [esp + 0x1c], 0
xor ecx, ecx
movzx esi, byte [esp + ecx + 0x18]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0x18], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x415fc2
mov ecx, dword [0x44d300]
test ecx, ecx
je 0x41603d
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44d304]
cmp dword [edi + esi*8], 0x63f96465
je 0x41601a
inc esi
cmp ecx, esi
jne 0x41600a
jmp 0x41603d
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41603d
push 0
push eax
push 8
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x14
mov eax, dword [esp + 0xac]
mov dword [esp + 0x18], 0x1c1d1a1b
mov dword [esp + 0x1c], 0
xor ecx, ecx
movzx esi, byte [esp + ecx + 0x18]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0x18], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x41604f
mov ecx, dword [0x44d300]
test ecx, ecx
je 0x4160c1
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44d304]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x4160a7
inc esi
cmp ecx, esi
jne 0x416097
jmp 0x4160c1
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x4160c1
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], 0x1c1d1a1b
mov dword [esp + 0x1c], 0
xor ecx, ecx
movzx esi, byte [esp + ecx + 0x18]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0x18], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x4160da
mov ecx, dword [0x44d300]
test ecx, ecx
je 0x41614c
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44d304]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x416132
inc esi
cmp ecx, esi
jne 0x416122
jmp 0x41614c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41614c
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
mov dword [esp + 0x28c], 0xffffffff
mov dword [esp + 0x288], 0xee1e5d00
xor ebx, ebx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x18], 0x1c1d1a1b
mov dword [esp + 0x1c], 0
xor eax, eax
nop
nop
nop
movzx esi, byte [esp + eax + 0x18]
lea edx, [eax - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + eax + 0x18], dl
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 8
jb 0x416180
mov eax, dword [esp + 0x18]
mov edx, dword [0x44d300]
test edx, edx
je case.default.0x416231
xor esi, esi
mov edi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7d5d6260
je 0x4161e0
inc esi
cmp edx, esi
jne 0x4161d0
jmp case.default.0x416231
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je case.default.0x416231
lea eax, [esp + 0x288]
push eax
lea eax, [esp + 0x294]
push eax
lea eax, [esp + 0x428]
push eax
lea eax, [esp + 0xf0]
push eax
push ecx
push 0x14
push edx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x20
cmp eax, 0x102
setne cl
or eax, dword [esp + 0x290]
setns al
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x446dcc]
xor eax, eax
jmp dword [eax*4 + 0x446df4]
mov eax, dword [esp + 0xe4]
xor ecx, ecx
cmp eax, dword [esp + 0x80]
sete cl
jmp dword [ecx*4 + 0x446dd4]
mov eax, dword [esp + 0x294]
cmp eax, 6
sete cl
and bl, 1
or bl, cl
setne cl
cmp eax, 7
sete al
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x446ddc]
mov dword [esp + 0x284], 0xffffffff
mov dword [esp + 0x280], 0xffb3b4c0
mov dword [esp + 0x18], 0x1c1d1a1b
mov dword [esp + 0x1c], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x18]
lea ecx, [eax - 0x39f3ff06]
xor ecx, edx
neg ecx
mov edx, ecx
and edx, 0x63
add edx, edx
xor ecx, 0x1c
sub ecx, edx
add cl, 2
mov byte [esp + eax + 0x18], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x4162b0
mov eax, dword [0x44d300]
test eax, eax
je case.default.0x4163db
mov ecx, dword [esp + 0x18]
xor edx, edx
mov esi, dword [0x44d304]
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xc45ebd31
je 0x41639b
inc edx
cmp eax, edx
jne 0x416300
jmp case.default.0x4163db
mov dword [esp + 0x18], 0xf4fcff46
mov byte [esp + 0x1c], 0x50
lea eax, [esp + 0x1d]
mov dword [eax + 3], 0
mov dword [eax], 0
mov eax, 0x3fb61ded
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x3fb61dd5]
xor ecx, eax
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x5e
mov byte [esp + eax - 0x3fb61dd5], cl
inc eax
cmp eax, 0x3fb61df9
jne 0x416340
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x41638b
lea edx, [esp + 0x19]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x416380
mov byte [eax], 0
mov dword [esp + 0x10], eax
xor eax, eax
jmp dword [eax*4 + 0x446df4]
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x4163bb
mov eax, 1
jmp dword [eax*4 + 0x446df4]
jmp dword [eax*4 + 0x446dfc]
jmp 0x416164
lea ecx, [esp + 0x280]
push ecx
push 0
push 8
push eax
push dword [0x44d308]
call fcn.0043d770
add esp, 0x14
mov eax, 1
jmp dword [eax*4 + 0x446df4]
mov ebx, dword [esp + 4]
mov dword [esp + 0x18], 0xdfa9a876
mov dword [esp + 0x1c], 0x4362906c
mov dword [esp + 0x20], 0
mov eax, 0x92
mov ecx, 0x6d
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x7a]
mov edx, esi
not edx
mov edi, ecx
or edi, edx
add esi, edi
inc esi
and edx, eax
or edx, esi
add dl, 0x26
mov byte [esp + eax - 0x7a], dl
inc eax
dec ecx
cmp eax, 0x9e
jne 0x416410
mov esi, dword [esp + 0x10]
movzx eax, byte [esp + 0x18]
test al, al
je 0x416450
lea ecx, [esp + 0x19]
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x416445
mov byte [esi], 0
push 0xcdbb945e
push dword [0x44c2f4]
call fcn.0043f2d0
add esp, 8
call eax
push 0x10
push 9
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.0041a7b0
add esp, 0x10
movzx ecx, byte [eax]
test cl, cl
je 0x41648d
inc eax
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x416482
mov byte [esi], 0
mov dword [esp + 0x10], esi
jmp dword [0x446e04]
push ebx
call fcn.004097c0
add esp, 4
mov eax, dword [esp + 0x98]
mov dword [esp + 0x34], 0x1c1d1a1b
mov dword [esp + 0x38], 0
xor ecx, ecx
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x34]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0x34], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x4164c0
mov ecx, dword [0x44d300]
test ecx, ecx
je case.0x415a6f.0
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x44d304]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x416518
inc esi
cmp ecx, esi
jne 0x416508
jmp case.0x415a6f.0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x415a6f.0
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
mov eax, dword [esp + 0x80]
mov dword [esp + 0x34], 0x1c1d1a1b
mov dword [esp + 0x38], 0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x34]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0x34], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x416550
mov ecx, dword [0x44d300]
test ecx, ecx
je case.0x4159c3.0
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x4165b0
inc esi
cmp ecx, esi
jne 0x4165a0
jmp case.0x4159c3.0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41695a
mov dword [esp + 4], 0
lea esi, [esp + 0x9e]
lea edi, [esp + 0x10]
mov ebx, dword [esp + 0xc]
jmp dword [0x446e0c]
push dword [ebp + 0xc]
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.0041a930
add esp, 0x14
push dword [ebp + 0xc]
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.0041a930
add esp, 0x14
jmp dword [0x446e14]
movzx ecx, al
jmp dword [ecx*4 + 0x446e1c]
mov dword [esp + 0xac], 0xffffffff
mov dword [esp + 0xa8], 0xffb3b4c0
mov dword [esp + 0x34], 0x1c1d1a1b
mov dword [esp + 0x38], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x34]
lea edx, [ecx - 0x39f3ff06]
xor edx, edi
neg edx
mov edi, edx
and edi, 0x63
add edi, edi
xor edx, 0x1c
sub edx, edi
add dl, 2
mov byte [esp + ecx + 0x34], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x416640
mov ecx, dword [0x44d300]
test ecx, ecx
je 0x4166b0
mov edx, dword [esp + 0x34]
xor edi, edi
mov ebx, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xc45ebd31
je 0x4166a0
inc edi
cmp ecx, edi
jne 0x416690
jmp 0x4166b0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x4166bf
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 4]
lea ecx, [esi + 1]
xor edx, edx
cmp esi, 5
setb dl
jmp dword [edx*4 + 0x446e24]
mov dword [esp + 4], ecx
lea esi, [esp + 0x9e]
lea edi, [esp + 0x10]
mov ebx, dword [esp + 0xc]
jmp dword [0x446e0c]
lea edx, [esp + 0xa8]
push edx
push 0
push 8
push ecx
push dword [0x44d308]
mov ebx, eax
call fcn.0043d770
mov eax, ebx
add esp, 0x14
mov esi, dword [esp + 4]
lea ecx, [esi + 1]
xor edx, edx
cmp esi, 5
setb dl
jmp dword [edx*4 + 0x446e24]
mov ecx, dword [esp + 8]
or cl, al
mov dword [esp + 8], ecx
xor esi, esi
lea ebx, [esp + 0x35]
jmp dword [0x446e2c]
push dword [esp + 0xc]
call fcn.004097c0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [esp + 0x88]
mov eax, dword [ebp + 0xc]
push dword [eax + 0xc]
call fcn.0043aec0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e34]
jmp dword [0x446e48]
xor eax, eax
cmp esi, 0x10
setb al
jmp dword [eax*4 + 0x446e4c]
inc esi
jmp dword [0x446e54]
mov dword [esp + 0x34], 0x6062708a
mov byte [esp + 0x38], 0xac
mov dword [esp + 0x39], 0
mov eax, 0x5c
mov ecx, 3
nop
mov edi, ecx
and edi, 4
mov edx, eax
and edx, 0x7b
or edx, edi
xor dl, byte [esp + eax - 0x28]
xor dl, 4
add dl, 0x34
mov byte [esp + eax - 0x28], dl
inc eax
dec ecx
cmp eax, 0x65
jne 0x4167a0
mov edi, dword [esp + 0x10]
movzx eax, byte [esp + 0x34]
test al, al
je 0x4167db
mov ecx, ebx
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4167d0
mov byte [edi], 0
mov dword [esp + 0x10], edi
lea ecx, [esp + 0x88]
push 0x100001
call fcn.0043b1f0
jmp dword [0x446e60]
mov dword [esp + 0x34], 0x6062708a
mov byte [esp + 0x38], 0xac
mov dword [esp + 0x39], 0
mov eax, 0x5c
mov ecx, 3
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
and edi, 4
mov edx, eax
and edx, 0x7b
or edx, edi
xor dl, byte [esp + eax - 0x28]
xor dl, 4
add dl, 0x34
mov byte [esp + eax - 0x28], dl
inc eax
dec ecx
cmp eax, 0x65
jne 0x416820
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x34]
test cl, cl
je 0x41685b
mov edx, ebx
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x416850
mov byte [eax], 0
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x88]
push 0x100001
call fcn.0043b1f0
jmp case.0x41670d.12
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e64]
mov dword [esp + 0x34], 0x2236248e
mov byte [esp + 0x38], 0x80
lea eax, [esp + 0x3c]
mov byte [eax - 1], 0
mov word [eax - 3], 0
mov eax, 0xe1
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0xad]
mov ebx, eax
and ebx, edx
lea ecx, [eax - 0x34f41900]
or ecx, edx
xor ecx, ebx
mov edx, 0x65
sub edx, ecx
or edx, 1
add edx, ecx
mov ebx, ecx
and ebx, 1
xor ecx, 1
add ecx, 0x9a
or ecx, ebx
add ecx, edx
add cl, 0x9b
mov byte [esp + eax - 0xad], cl
inc eax
cmp eax, 0xe9
jne 0x4168b0
movzx eax, byte [esp + 0x34]
test al, al
je 0x41691d
lea ecx, [esp + 0x35]
lea ebx, [esp + 0x35]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x416910
jmp 0x416921
lea ebx, [esp + 0x35]
mov byte [edi], 0
mov dword [esp + 0x10], edi
lea ecx, [esp + 0x88]
push 0
push 0x2710
push 0
call fcn.0043b470
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e6c]
lea ecx, [esp + 0x88]
call fcn.0043b390
jmp case.0x41670d.3
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
mov dword [esp + 4], 0
lea esi, [esp + 0x9e]
lea edi, [esp + 0x10]
mov ebx, dword [esp + 0xc]
jmp dword [0x446e0c]
jmp dword [0x446f08]
mov esi, dword [esp + 0x14]
jmp dword [0x446d9c]
jmp dword [0x446e78]
call fcn.004097c0
add esp, 4
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004195b0
mov dword [esp + 0x268], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446c54]
xor eax, eax
movzx eax, al
xor ecx, ecx
jmp dword [eax*4 + 0x446cc4]
mov dword [esp + 0xe8], 0x1c1d1a1b
mov dword [esp + 0xec], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0xe8]
lea ecx, [eax - 0x39f3ff06]
xor ecx, edx
neg ecx
mov edx, ecx
and edx, 0x63
add edx, edx
xor ecx, 0x1c
sub ecx, edx
add cl, 2
mov byte [esp + eax + 0xe8], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x416a00
mov eax, dword [esp + 0xe8]
mov ecx, dword [0x44d300]
test ecx, ecx
je case.default.0x416a9c
xor edx, edx
mov edi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x85451de0
je 0x416a70
inc edx
cmp ecx, edx
jne 0x416a60
jmp case.default.0x416a9c
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x416a9c
lea eax, [esp + 0x268]
push 4
push eax
push 5
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446c5c]
xor ebx, ebx
jmp case.0x416d46.21
mov ecx, esi
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x416ab0
mov ecx, eax
xor ecx, esi
mov edi, esi
not edi
and edi, eax
add edi, edi
sub edi, ecx
lea ebx, [edi + edi*2]
shr ebx, 2
movzx eax, byte [esi + edi - 1]
cmp eax, 0x3d
je 0x416adb
cmp eax, 0x2e
jne 0x416adc
dec ebx
movzx eax, byte [esi + edi - 2]
cmp eax, 0x3d
mov dword [esp + 4], esi
je 0x416aef
cmp eax, 0x2e
jne 0x416af0
dec ebx
lea eax, [ebx + 1]
push eax
call fcn.004097b0
add esp, 4
mov esi, eax
push eax
push edi
push dword [esp + 0xc]
call fcn.004194b0
add esp, 0xc
add ebx, 0xfffffffc
mov dword [esp + 0x2a0], ebx
mov dword [esp + 4], esi
add esi, 4
mov dword [esp + 0x2a4], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
push 0xe18a387a
push dword [0x44d30c]
call fcn.0043f2d0
add esp, 8
lea esi, [esp + 0x34]
push esi
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x2b8]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446c64]
xor ebx, ebx
jmp 0x416d68
mov dword [esp + 0x88], 0
mov dword [esp + 0xe8], 0x1c1d1a1b
mov dword [esp + 0xec], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0xe8]
lea ecx, [eax - 0x39f3ff06]
xor ecx, edx
neg ecx
mov edx, ecx
and edx, 0x63
add edx, edx
xor ecx, 0x1c
sub ecx, edx
add cl, 2
mov byte [esp + eax + 0xe8], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x416ba0
mov eax, dword [esp + 0xe8]
mov ecx, dword [0x44d300]
test ecx, ecx
je case.default.0x416d46
xor edx, edx
mov edi, dword [0x44d304]
cmp dword [edi + edx*8], 0x85451de0
je 0x416c01
inc edx
cmp ecx, edx
jne 0x416bf1
jmp case.default.0x416d46
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
jne 0x416d22
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446c6c]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
push 0xe18a387a
push dword [0x44d30c]
call fcn.0043f2d0
add esp, 8
lea ecx, [esp + 0xa8]
push ecx
push 0
push 0
push 0
push 0
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446c74]
jmp case.0x416d46.0
xor eax, eax
cmp dword [esp + 0xa8], 4
setae al
jmp dword [eax*4 + 0x446c7c]
mov esi, dword [esp + 0xac]
lea edx, [esp + 0x18]
mov eax, esi
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x1c]
add esi, 4
xor ebx, ebx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov esi, dword [esp + 0x18]
xor ecx, ecx
test esi, esi
setne cl
jmp dword [ecx*4 + 0x446c84]
mov eax, dword [esp + 0xac]
mov edi, edx
lea edx, [eax + esi]
add edx, 4
mov ecx, 1
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [eax + esi]
add edx, 8
mov eax, edx
lea edi, [esp + 0x1c]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
xor eax, eax
cmp dword [esp + 0x18], 0
setne al
jmp dword [eax*4 + 0x446c8c]
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
mov eax, 0xfffffffe
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x416d02
mov ebx, edx
cmp eax, 0xffffffef
jge 0x418132
mov eax, 0xffffffff
jmp 0x418135
lea eax, [esp + 0x88]
push 4
push eax
push 5
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446c6c]
xor ebx, ebx
push 0xa7ffa4f5
push dword [0x44c2f4]
call fcn.0043f2d0
add esp, 8
push dword [esp + 0x38]
call eax
mov eax, dword [case.0x416d46.18]
nop
nop
nop
jmp eax
jmp dword [0x446cbc]
push dword [esp + 4]
call fcn.004097c0
add esp, 4
jmp case.0x416d46.21
mov eax, dword [esp + 0x268]
mov dword [esp + 0xe8], 0x1c1d1a1b
mov dword [esp + 0xec], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0xe8]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0xe8], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x416db0
mov ecx, dword [0x44d300]
test ecx, ecx
je case.default.0x416f59
mov edx, dword [esp + 0xe8]
xor esi, esi
mov edi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x416e20
inc esi
cmp ecx, esi
jne 0x416e10
jmp case.default.0x416f59
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x416f42
movzx eax, bl
xor ecx, ecx
jmp dword [eax*4 + 0x446cc4]
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 8], 0
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x446ccc]
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0xc], 0
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x446cd4]
push 0x1fa0
call fcn.004097b0
add esp, 4
mov dword [esp + 0xe0], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xe8], 0xede5e3e0
mov dword [esp + 0xec], 0x99d3d9d5
mov dword [esp + 0xf0], 0xdcd4dfd1
mov dword [esp + 0xf4], 0xc4c7c6c3
mov word [esp + 0xf8], 0xdcd8
mov byte [esp + 0xfa], 0xa2
mov word [esp + 0xfb], 0
mov eax, 0x6409b1c
mov ecx, 0x79bf64e3
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x6409a34]
mov edi, ecx
and edi, 0x51bb60b8
mov edx, eax
and edx, 0x6001a07
or edx, edi
xor edx, esi
xor edx, 0x51fbe1b8
add edx, 0xe0bcf873
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x6409a34], dl
inc eax
dec ecx
cmp eax, 0x6409b31
jne 0x416ed0
lea eax, [esp + 0xe8]
push eax
push dword [esp + 0x28]
call fcn.00401ee0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446cdc]
mov dword [esp + 8], 0
jmp 0x418b94
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
movzx eax, bl
xor ecx, ecx
jmp dword [eax*4 + 0x446cc4]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp + 0x2a0], 0xc9a4cba8
mov dword [esp + 0x2a4], 0xc5bfc7b3
mov dword [esp + 0x2a8], 0xc1afc3b3
mov dword [esp + 0x2ac], 0xfd90ffac
mov dword [esp + 0x2b0], 0xf99efb9b
mov dword [esp + 0x2b4], 0xf589f78b
mov dword [esp + 0x2b8], 0xf18af389
mov dword [esp + 0x2bc], 0xed9cef87
mov dword [esp + 0x2c0], 0xe98eeb97
mov dword [esp + 0x2c4], 0xe597e785
mov dword [esp + 0x2c8], 0xe18ee39e
mov dword [esp + 0x2cc], 0x1d611f89
mov dword [esp + 0x2d0], 0x19611b72
mov dword [esp + 0x2d4], 0x1565177c
mov dword [esp + 0x2d8], 0x118f1383
mov dword [esp + 0x2dc], 0xd9f0f9e
mov dword [esp + 0x2e0], 0x99b0b81
mov dword [esp + 0x2e4], 0x58a0792
mov dword [esp + 0x2e8], 0x16b0360
mov dword [esp + 0x2ec], 0x3dac3f97
mov dword [esp + 0x2f0], 0x39ab3ba0
mov dword [esp + 0x2f4], 0x35bb37b1
mov dword [esp + 0x2f8], 0x314f3350
mov dword [esp + 0x2fc], 0x2da02fbb
mov dword [esp + 0x300], 0x29b12ba2
mov dword [esp + 0x304], 0x25aa27ba
mov dword [esp + 0x308], 0x21b9234e
mov dword [esp + 0x30c], 0x5dd35fae
mov dword [esp + 0x310], 0x59cb5bcb
mov dword [esp + 0x314], 0x553257ca
mov dword [esp + 0x318], 0x51c0533f
mov dword [esp + 0x31c], 0x4ddc4fc7
mov dword [esp + 0x320], 0x49c64bc1
mov dword [esp + 0x324], 0x45d247d7
mov dword [esp + 0x328], 0x412643d0
mov word [esp + 0x32c], 0x7f40
mov byte [esp + 0x332], 0
mov dword [esp + 0x32e], 0
mov ecx, 0x676239d3
mov edx, 0x2c
mov esi, edx
and esi, 0x8f
mov edi, ecx
and edi, 0x70
or edi, esi
mov ebx, edx
and ebx, 0x48
mov esi, ecx
and esi, 0xb7
or esi, ebx
movzx eax, byte [esp + ecx - 0x67623733]
xor edi, 0x8f
xor esi, 0x48
or esi, edi
and esi, eax
lea ebx, [ecx - 0x67623900]
or ebx, eax
xor ebx, esi
add bl, 0xe1
mov byte [esp + ecx - 0x67623733], bl
inc ecx
dec edx
cmp ecx, 0x67623a66
jne 0x417116
movzx ecx, word [esp + 0x2a0]
test cx, cx
lea eax, [esp + 0xe8]
je 0x41719a
lea eax, [esp + 0xe8]
lea edx, [esp + 0x2a2]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x417189
mov word [eax], 0
mov edx, dword [esp + 4]
movzx ecx, word [edx]
test cx, cx
je 0x4171bf
add edx, 2
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4171ae
mov word [eax], 0
mov dword [esp + 0x2a0], 0x33a43189
mov dword [esp + 0x2a4], 0x2fa22dbf
mov dword [esp + 0x2a8], 0x2bbe2989
mov dword [esp + 0x2ac], 0x279225b0
mov dword [esp + 0x2b0], 0x238121b7
mov dword [esp + 0x2b4], 0x1f921dbd
mov dword [esp + 0x2b8], 0x1b8d1981
mov dword [esp + 0x2bc], 0x17161582
mov edx, 0xcc
mov esi, dword [ebp + 0xc]
movzx eax, byte [esp + edx + 0x1d4]
mov ebx, eax
mov edi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 4
mov byte [esp + edx + 0x1d4], al
inc edx
cmp edx, 0xec
jne case.default.0x41728e
lea eax, [esp + 0xe8]
lea ecx, [esp + 0x2a0]
push ecx
push eax
call fcn.00439060
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
setne al
xor edx, edx
jmp dword [eax*4 + 0x446ce4]
mov dword [esp + 0x2a0], 0xe4e7f30a
mov byte [esp + 0x2a4], 4
mov word [esp + 0x2a5], 0
mov byte [esp + 0x2a7], 0
xor eax, eax
movzx ecx, byte [esp + eax + 0x2a0]
mov edx, eax
xor edx, 0x3f
or edx, ecx
not ecx
or ecx, eax
or ecx, 0xc0
add ecx, edx
mov dl, 0x3e
sub dl, cl
mov byte [esp + eax + 0x2a0], dl
inc eax
cmp eax, 8
jne 0x4172bc
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x2a0]
test cl, cl
je 0x41730a
lea edx, [esp + 0x2a1]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4172ff
mov byte [eax], 0
mov dword [esp + 0x10], eax
mov eax, 0xfffffffe
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x417316
mov esi, dword [esi + 0xc]
mov ecx, 0xfffffffe
cmp word [esi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x417329
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 2
test edx, edx
jns 0x417349
mov eax, 0xffffffff
jmp 0x417352
add eax, ecx
lea eax, [eax*2 + 4]
push eax
call fcn.004097b0
add esp, 4
movzx ecx, word [edi]
mov ebx, eax
test cx, cx
je 0x41737d
mov edx, edi
add edx, 2
mov eax, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41736c
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x4173a5
add esi, 2
mov edx, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x417392
jmp 0x4173a7
mov edx, ebx
mov word [eax], 0
mov esi, dword [ebp + 0xc]
jmp dword [0x446cec]
push edi
call fcn.004097c0
mov edx, ebx
add esp, 4
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x14], edx
test edx, edx
sete bl
shl ebx, 0xc
or ebx, 0x100001
lea ecx, [esp + 0x88]
push dword [esi + 0xc]
call fcn.0043aec0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446cf4]
xor eax, eax
cmp edi, 0x10
setb al
jmp dword [eax*4 + 0x446cfc]
inc edi
mov dword [esp + 0x2a0], 0xa0a2934a
mov byte [esp + 0x2a4], 0x2c
lea eax, [esp + 0x2a5]
mov byte [eax + 4], 0
mov dword [eax], 0
mov eax, 0xf3
lea ecx, [esp + 0x2a0]
nop
nop
nop
movzx esi, byte [ecx]
lea edx, [eax - 0x137f3400]
or edx, esi
and esi, eax
not edx
or edx, esi
mov esi, edx
not esi
add edx, 0xc3
and esi, 1
or edx, 1
add edx, esi
mov byte [ecx], dl
inc ecx
dec eax
cmp eax, 0xe9
jne 0x417460
mov esi, dword [esp + 0x10]
movzx eax, byte [esp + 0x2a0]
test al, al
je 0x4174bb
lea ecx, [esp + 0x2a1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4174b0
mov byte [esi], 0
mov dword [esp + 0x10], esi
lea ecx, [esp + 0x88]
push ebx
call fcn.0043b1f0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d04]
mov esi, dword [ebp + 0xc]
jmp 0x417402
mov dword [esp + 8], edi
mov dword [esp + 0x2a0], 0xb2a2b30a
mov byte [esp + 0x2a4], 0xec
lea eax, [esp + 0x2a5]
mov byte [eax + 4], 0
mov dword [eax], 0
xor eax, eax
xor ecx, ecx
mov dword [esp + 4], eax
movzx edi, byte [esp + ecx + 0x2a0]
mov dword [esp + 0xc], edi
mov eax, dword [esp + 4]
and eax, 0x18
mov edx, ecx
xor edx, 0x5393e0fc
add edx, eax
mov ebx, edx
and ebx, edi
mov edi, ebx
and edi, 0xfffffffd
mov eax, ebx
or eax, 0xfd
inc eax
imul eax, edi
mov edi, ebx
and edi, 2
or ebx, 2
imul ebx, edi
sub eax, ebx
add edx, dword [esp + 0xc]
add edx, eax
mov eax, dword [esp + 4]
add dl, 0x14
mov byte [esp + ecx + 0x2a0], dl
inc ecx
add eax, 2
cmp ecx, 0xa
jne 0x41750f
movzx eax, byte [esp + 0x2a0]
test al, al
je 0x417596
lea ecx, [esp + 0x2a1]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 8]
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x417589
jmp 0x41759e
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 8]
xor eax, eax
test edx, edx
sete al
mov byte [esi], 0
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x446d0c]
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x2a0], 0x1c1d1a1b
mov dword [esp + 0x2a4], 0
xor eax, eax
movzx edi, byte [esp + eax + 0x2a0]
lea edx, [eax - 0x39f3ff06]
xor edx, edi
neg edx
mov edi, edx
and edi, 0x63
add edi, edi
xor edx, 0x1c
sub edx, edi
add dl, 2
mov byte [esp + eax + 0x2a0], dl
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 8
jb 0x4175da
mov eax, dword [esp + 0x2a0]
mov ebx, dword [0x44d300]
test ebx, ebx
je 0x417660
xor edx, edx
mov edi, dword [0x44d304]
cmp dword [edi + edx*8], 0xfc36c0a1
je 0x41763b
inc edx
cmp ebx, edx
jne 0x41762b
jmp 0x417660
mov edi, dword [edi + edx*8 + 4]
cmp edi, eax
je 0x417660
lea edx, [esp + 0x34]
push edx
push 0
push 0
push 0x2b
push ecx
push 0x14
push edi
push dword [0x44d308]
call fcn.0043d770
add esp, 0x20
mov dword [esp + 0xc], eax
mov dword [esp + 0x2a0], 0x296a6b60
mov byte [esp + 0x2a4], 0
mov edi, 0xa4d27a17
mov edx, 0x5b2d85e8
movzx eax, byte [esp + edi + 0x5b2d8889]
mov dword [esp + 4], eax
mov ecx, edi
xor ecx, eax
or ecx, edx
mov ebx, ecx
not ebx
mov eax, ebx
and eax, 0x1d
and ecx, 2
imul ecx, eax
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
add ebx, ecx
mov eax, ebx
xor eax, edi
and ebx, edx
add ebx, ebx
sub ebx, eax
mov eax, ebx
mov ecx, dword [esp + 4]
xor eax, ecx
not ebx
and ebx, ecx
add ebx, ebx
sub ebx, eax
mov ecx, 2
sub ecx, ebx
sub ecx, ebx
not ecx
and ecx, 2
xor ebx, 1
add ebx, ecx
add bl, 0x8c
mov byte [esp + edi + 0x5b2d8889], bl
inc edi
dec edx
cmp edi, 0xa4d27a1c
jne 0x417681
xor eax, eax
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x2a0]
sete al
jmp dword [eax*4 + 0x446d14]
mov eax, dword [case.0x41728e.9]
mov edi, dword [esp + 8]
jmp case.0x41728e.15
mov eax, dword [esp + 0x34]
add eax, 2
push eax
call fcn.0043ad80
add esp, 4
mov dword [esp + 4], eax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp + 0x2a0], 0x1c1d1a1b
mov dword [esp + 0x2a4], 0
xor eax, eax
movzx ecx, byte [esp + eax + 0x2a0]
lea ebx, [eax - 0x39f3ff06]
xor ebx, ecx
neg ebx
mov ecx, ebx
and ecx, 0x63
add ecx, ecx
xor ebx, 0x1c
sub ebx, ecx
add bl, 2
mov byte [esp + eax + 0x2a0], bl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x417750
mov eax, dword [esp + 0x2a0]
mov edi, dword [0x44d300]
test edi, edi
je 0x4177b6
add edx, 2
xor ebx, ebx
mov ecx, dword [0x44d304]
cmp dword [ecx + ebx*8], 0xfc36c0a1
je 0x4178b7
inc ebx
cmp edi, ebx
jne 0x4177a4
mov ebx, dword [esp + 4]
not eax
shr eax, 0x1f
mov edi, dword [esp + 8]
jmp dword [eax*4 + 0x446d1c]
jmp 0x41786e
mov dword [esp + 0x2a0], 0x455d4fe6
mov byte [esp + 0x2a4], 0xf0
mov dword [esp + 0x2a5], 0
xor eax, eax
mov ecx, eax
add cl, 0xd5
xor cl, byte [esp + eax + 0x2a0]
add cl, 0xd7
mov byte [esp + eax + 0x2a0], cl
inc eax
cmp eax, 9
jne 0x4177ef
movzx eax, byte [esp + 0x2a0]
test al, al
je 0x417829
lea ecx, [esp + 0x2a1]
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41781e
mov byte [esi], 0
mov dword [esp + 0x10], esi
movzx eax, word [ebx + 2]
and eax, 0xfffffffe
push eax
call fcn.004097b0
add esp, 4
mov edx, eax
mov eax, dword [ebx + 4]
movzx ecx, word [eax]
mov dword [esp + 0x14], edx
test cx, cx
je 0x417869
add eax, 2
mov edx, dword [esp + 0x14]
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x417858
mov word [edx], 0
push ebx
call fcn.0043ae30
add esp, 4
mov eax, dword [case.0x41728e.9]
jmp eax
lea ecx, [esp + 0x88]
push 0
push 0x2710
push 0
call fcn.0043b470
not eax
shr eax, 0x1f
mov esi, dword [ebp + 0xc]
jmp dword [eax*4 + 0x446d34]
lea ecx, [esp + 0x88]
call fcn.0043b390
mov edx, dword [esp + 0x14]
jmp 0x4173ee
mov ecx, dword [ecx + ebx*8 + 4]
cmp ecx, eax
mov ebx, dword [esp + 4]
je 0x4177ba
push 0
push edx
push ebx
push 0x2b
push dword [esp + 0x1c]
push 0x14
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x20
jmp 0x4177ba
xor eax, eax
mov edi, dword [esp + 0x14]
test edi, edi
sete al
jmp dword [eax*4 + 0x446d3c]
setne al
movzx eax, al
jmp dword [eax*4 + 0x446d7c]
mov dword [esp + 8], 0
jmp 0x419446
mov eax, dword [esi + 8]
movzx ecx, word [eax]
xor ebx, ebx
mov edi, 0
test cx, cx
je 0x41793b
mov edi, eax
cmp cx, 0x20
je 0x41793b
movzx ecx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x417927
xor edi, edi
mov edx, edi
not edx
and edx, eax
mov ecx, eax
not ecx
and ecx, edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
sub ecx, edx
mov dword [esp + 0x34], 0x19ca1bf7
mov dword [esp + 0x38], 0xe557e7a6
mov dword [esp + 0x3c], 0xe15ce34d
mov dword [esp + 0x40], 0xed5def4f
mov dword [esp + 0x44], 0xe95deb26
mov dword [esp + 0x48], 0xf55df75c
mov dword [esp + 0x4c], 0xf119f349
mov dword [esp + 0x50], 0xfdfeff54
mov word [esp + 0x54], 0
mov byte [esp + 0x56], 0
mov edx, ebx
add dl, 0xfb
xor dl, byte [esp + ebx + 0x34]
add dl, 0x19
mov byte [esp + ebx + 0x34], dl
inc ebx
cmp ebx, 0x23
jne 0x41799d
mov dword [esp + 4], edi
movzx edx, word [esp + 0x34]
lea ebx, [esp + 0x2a0]
test dx, dx
je 0x4179dd
lea edi, [esp + 0x36]
mov word [ebx], dx
add ebx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x4179cc
mov word [ebx], 0
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0xc]
je 0x417a89
mov edi, ecx
sar edi, 1
lea ecx, [edi - 1]
mov dword [esp + 0xc], edi
and edi, 3
je 0x417a2e
mov dword [esp + 8], ecx
xor edx, edx
movzx esi, word [eax]
xor ecx, ecx
test si, si
setne cl
lea eax, [eax + ecx*2]
mov word [ebx], si
add ebx, 2
inc edx
cmp edi, edx
jne 0x417a06
mov edi, dword [esp + 0xc]
sub edi, edx
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x417a32
mov edi, dword [esp + 0xc]
cmp ecx, 3
jb 0x417a89
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
mov word [ebx], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [ebx + 2], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 4], cx
lea ecx, [eax + edx*2]
movzx edx, word [eax + edx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [ecx + eax*2]
mov word [ebx + 6], dx
add ebx, 8
add edi, 0xfffffffc
jne 0x417a37
mov word [ebx], 0x5c
mov eax, dword [esi + 0xc]
mov dword [esp + 0x34], 0x1f5f1944
mov dword [esp + 0x38], 0x63d21dac
mov dword [esp + 0x3c], 0x67cf61cc
mov dword [esp + 0x40], 0x6bcb65c3
mov dword [esp + 0x44], 0x6fc769dc
mov dword [esp + 0x48], 0x73c06ddf
mov dword [esp + 0x4c], 0x7776712c
mov dword [esp + 0x50], 0
xor esi, esi
mov edx, esi
and edx, 0x18
mov ecx, esi
and ecx, 2
mov edi, ecx
xor edi, 2
imul edi, edx
or edx, 2
imul edx, ecx
mov ecx, esi
xor ecx, 0x3a
add ecx, edi
add ecx, edx
xor cl, byte [esp + esi + 0x34]
add cl, 0xde
mov byte [esp + esi + 0x34], cl
inc esi
cmp esi, 0x20
jne 0x417ad3
add ebx, 2
mov edx, dword [esp + 4]
movzx ecx, word [edx + 2]
test cx, cx
je 0x417b29
add edx, 4
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x417b18
mov word [ebx], 0
movzx ecx, word [esp + 0x34]
test cx, cx
je 0x417b4d
lea edx, [esp + 0x36]
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x417b3c
mov word [ebx], 0
movzx ecx, word [eax]
test cx, cx
je 0x417b6e
add eax, 2
mov word [ebx], cx
add ebx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x417b5d
mov word [ebx], 0
lea edx, [esp + 0x2a0]
mov eax, ebx
xor eax, edx
mov ecx, edx
not ecx
mov dword [esp + 0xc], ecx
and ebx, ecx
add ebx, ebx
sub ebx, eax
sar ebx, 1
lea eax, [esp + 0xa8]
push eax
push 0
push 0
push ebx
push edx
push 0
call dword [0x44d2fc]
mov dword [esp + 8], eax
mov dword [esp + 0x34], 0x894a4b11
mov word [esp + 0x38], 0
mov byte [esp + 0x3a], 0
mov ecx, 0xf3
mov eax, 0xc
movzx esi, byte [esp + ecx - 0xbf]
mov edi, eax
and edi, esi
lea edx, [esi + esi]
not edx
add edx, esi
and edx, ecx
or edx, edi
add dl, 0x41
mov byte [esp + ecx - 0xbf], dl
inc ecx
dec eax
cmp ecx, 0xfa
jne case.default.0x417bfe
xor eax, eax
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0x34]
sete al
jmp dword [eax*4 + 0x446d44]
xor eax, eax
mov edi, dword [esp + 0x14]
test edi, edi
sete al
jmp dword [eax*4 + 0x446d5c]
mov edi, dword [esp + 0xa8]
test edi, edi
jns 0x417c29
mov eax, 0xffffffff
jmp 0x417c2c
lea eax, [edi + edi]
push eax
call fcn.004097b0
add esp, 4
mov esi, eax
lea eax, [esp + 0xa8]
push eax
push edi
push esi
push ebx
lea eax, [esp + 0x2b0]
push eax
push 0
call dword [0x44d2fc]
lea eax, [esp + 0x268]
push eax
mov edi, esi
push esi
call fcn.0043ff70
add esp, 8
test eax, eax
sets al
cmp dword [esp + 0x268], 0xffffffff
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446d4c]
mov dword [esp + 0x34], 0x1b0d18ea
mov byte [esp + 0x38], 0xe8
mov dword [esp + 0x39], 0
mov word [esp + 0x3d], 0
mov eax, 0x27
mov ecx, 0x46edb5d8
movzx esi, byte [esp + eax + 0xd]
mov edx, eax
xor edx, ecx
and edx, esi
xor edx, ecx
mov ebx, 1
sub ebx, edx
and ebx, 1
and edx, 0xfe
sub ebx, edx
add bl, 0x3b
mov byte [esp + eax + 0xd], bl
inc eax
dec ecx
cmp eax, 0x32
jne 0x417ca7
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x34]
test cl, cl
je 0x417cf0
lea edx, [esp + 0x35]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x417ce5
mov byte [eax], 0
mov dword [esp + 0x10], eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x446d5c]
jmp dword [0x446d54]
push edi
call fcn.004097c0
add esp, 4
xor edi, edi
xor eax, eax
test edi, 0
sete al
jmp dword [eax*4 + 0x446d5c]
xor edi, edi
xor eax, eax
test edi, 0
sete al
jmp dword [eax*4 + 0x446d5c]
mov dword [esp + 0x14], edi
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov edi, dword [esp + 4]
mov eax, edi
mov ecx, edx
sub eax, edx
mov dword [esp + 8], eax
mov dword [esp + 0x34], 0x21f627db
mov dword [esp + 0x38], 0x3d932392
mov dword [esp + 0x3c], 0x398c3f85
mov dword [esp + 0x40], 0x358d3b9b
mov dword [esp + 0x44], 0x31f8379d
mov dword [esp + 0x48], 0xdff33fc
mov dword [esp + 0x4c], 0x9f10ffe
mov dword [esp + 0x50], 0x50a0bac
mov byte [esp + 0x54], 0
mov edx, 0x49
mov esi, 0xb6
movzx eax, byte [esp + edx - 0x15]
mov ebx, esi
xor ebx, edx
and ebx, eax
xor ebx, edx
add bl, 0x93
mov byte [esp + edx - 0x15], bl
inc edx
dec esi
cmp edx, 0x6a
jne 0x417da3
movzx edx, word [esp + 0x34]
test dx, dx
lea eax, [esp + 0x2a0]
je 0x417deb
lea eax, [esp + 0x2a0]
lea ebx, [esp + 0x36]
mov word [eax], dx
add eax, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x417dda
mov ebx, eax
mov word [eax], 0
cmp edi, ecx
je 0x417ea5
mov esi, dword [esp + 8]
sar esi, 1
lea eax, [esi - 1]
mov dword [esp + 8], esi
and esi, 3
je 0x417e3d
mov dword [esp + 0x28], eax
xor edx, edx
movzx eax, word [ecx]
mov edi, esi
mov esi, ecx
xor ecx, ecx
test ax, ax
setne cl
lea ecx, [esi + ecx*2]
mov esi, edi
mov word [ebx], ax
add ebx, 2
inc edx
cmp edi, edx
jne 0x417e12
sub dword [esp + 8], edx
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 4]
cmp eax, 3
mov esi, dword [ebp + 0xc]
jb 0x417ea8
mov edi, ebx
mov ebx, dword [esp + 8]
movzx eax, word [ecx]
xor edx, edx
test ax, ax
setne dl
mov word [edi], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [edi + 2], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [edi + 4], ax
lea eax, [ecx + edx*2]
movzx edx, word [ecx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
lea ecx, [eax + ecx*2]
mov word [edi + 6], dx
add edi, 8
add ebx, 0xfffffffc
jne 0x417e4b
mov ebx, edi
mov edi, dword [esp + 4]
jmp 0x417ea8
mov esi, dword [ebp + 0xc]
mov word [ebx], 0x5c
mov eax, dword [esi + 0xc]
mov dword [esp + 0x34], 0x61a567c0
mov dword [esp + 0x38], 0x5df263f0
mov dword [esp + 0x3c], 0x59c55fc8
mov dword [esp + 0x40], 0x55f95bc5
mov dword [esp + 0x44], 0x51cd57d8
mov dword [esp + 0x48], 0x4dc453c1
mov dword [esp + 0x4c], 0x494e4fe8
mov word [esp + 0x50], 0
mov byte [esp + 0x52], 0
mov ecx, 0x99
movzx esi, byte [esp + ecx - 0x65]
mov edx, ecx
or edx, esi
and esi, ecx
sub edx, esi
add dl, 3
mov byte [esp + ecx - 0x65], dl
inc ecx
cmp ecx, 0xb8
jne 0x417ef9
add ebx, 2
movzx ecx, word [edi + 2]
test cx, cx
je 0x417f36
add edi, 4
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x417f25
mov word [ebx], 0
movzx ecx, word [esp + 0x34]
test cx, cx
je 0x417f5a
lea edx, [esp + 0x36]
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x417f49
mov word [ebx], 0
movzx ecx, word [eax]
test cx, cx
je 0x417f81
add eax, 2
mov edx, dword [esp + 0xc]
mov word [ebx], cx
add ebx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x417f6e
jmp 0x417f85
mov edx, dword [esp + 0xc]
mov word [ebx], 0
mov eax, ebx
not eax
lea esi, [esp + 0x2a0]
and eax, esi
and edx, ebx
sub edx, eax
sar edx, 1
lea eax, [esp + 0xa8]
push eax
push 0
push 0
mov dword [esp + 0x18], edx
push edx
push esi
push 0
call dword [0x44d2fc]
mov dword [esp + 0x34], 0xa96a6b41
xor ecx, ecx
mov edx, ecx
add dl, 0x67
xor dl, byte [esp + ecx + 0x34]
add dl, 0xfd
mov byte [esp + ecx + 0x34], dl
add ecx, 0x5741d393
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add ecx, 0xa8be2c6d
cmp ecx, 4
jb case.default.0x417ffa
xor ecx, ecx
cmp eax, dword [esp + 0x34]
sete cl
mov edi, dword [esp + 0x14]
jmp dword [ecx*4 + 0x446d64]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446d7c]
mov dword [esp + 0x14], edi
mov eax, dword [case.0x417bfe.17]
jmp eax
lea ecx, [esp + 0x2a0]
call fcn.0041a500
mov eax, dword [esp + 0x14]
add eax, 2
mov dword [esp + 0xdc], eax
xor edi, edi
mov dword [esp + 8], 0
jmp 0x41574d
mov edi, dword [esp + 0xa8]
test edi, edi
jns 0x418055
mov eax, 0xffffffff
jmp 0x418058
lea eax, [edi + edi]
push eax
call fcn.004097b0
add esp, 4
mov ebx, eax
lea eax, [esp + 0xa8]
push eax
push edi
push ebx
push dword [esp + 0x18]
push esi
push 0
call dword [0x44d2fc]
lea eax, [esp + 0x268]
push eax
mov edi, ebx
push ebx
call fcn.0043ff70
add esp, 8
test eax, eax
sets al
cmp dword [esp + 0x268], 0xffffffff
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446d6c]
mov dword [esp + 0x34], 0x2e2f3496
mov byte [esp + 0x38], 0x8c
mov dword [esp + 0x39], 0
mov dword [esp + 0x3c], 0
xor eax, eax
mov ecx, eax
add cl, 0x22
xor cl, byte [esp + eax + 0x34]
add cl, 0x56
mov byte [esp + eax + 0x34], cl
inc eax
cmp eax, 0xc
jne 0x4180c8
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x34]
test cl, cl
je 0x4180fa
lea edx, [esp + 0x35]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4180ef
mov byte [eax], 0
mov dword [esp + 0x10], eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446d7c]
jmp dword [0x446d74]
push edi
call fcn.004097c0
add esp, 4
xor edi, edi
xor eax, eax
test edi, 0
setne al
jmp dword [eax*4 + 0x446d7c]
add eax, 0x10
push eax
call fcn.004097b0
add esp, 4
mov esi, eax
mov dword [esp + 0xe8], 0x8f2f89fb
mov dword [esp + 0xec], 0x83f08d2a
mov dword [esp + 0xf0], 0x870e8134
mov dword [esp + 0xf4], 0x9b9a8530
mov word [esp + 0xf8], 0
mov byte [esp + 0xfa], 0
xor eax, eax
mov ecx, eax
add cl, 0xa2
xor cl, byte [esp + eax + 0xe8]
add cl, 0xd6
mov byte [esp + eax + 0xe8], cl
inc eax
cmp eax, 0x13
jne 0x418180
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x4181bc
add edi, 2
mov eax, esi
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x4181ab
mov word [eax], 0
movzx edi, word [esp + 0xe8]
test di, di
je 0x4181ff
lea edx, [esp + 0xea]
mov ecx, dword [ebp + 8]
mov word [eax], di
add eax, 2
movzx edi, word [edx]
add edx, 2
test di, di
jne 0x4181d8
jmp 0x418202
xor edi, edi
xor eax, eax
test edi, 0
setne al
jmp dword [eax*4 + 0x446d7c]
mov ecx, dword [ebp + 8]
mov word [eax], 0
push dword [esp + 0x18]
push ebx
push esi
call fcn.0040a390
mov ebx, eax
jmp dword [0x446c94]
push esi
call fcn.004097c0
add esp, 4
mov eax, dword [case.0x416d46.6]
jmp eax
jmp 0x415727
push esi
call fcn.00401f10
add esp, 4
jmp dword [0x446ea4]
xor ecx, ecx
cmp ebx, eax
setb cl
mov dword [esp + 0x28], ebx
jmp dword [ecx*4 + 0x446eac]
push ebx
push esi
call fcn.00401f20
add esp, 8
movzx edx, byte [eax]
test dl, dl
mov dword [esp + 4], eax
je 0x4182aa
lea ecx, [eax + 1]
xor eax, eax
jmp 0x418279
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
je 0x4182ac
movzx esi, dl
mov ebx, esi
and ebx, 0xfffffff0
cmp ebx, 0xe0
je 0x418270
test dl, dl
jns 0x418270
mov edx, esi
and edx, 0xffffffe0
cmp edx, 0xc0
je 0x418270
and esi, 0xfffffff8
cmp esi, 0xf0
jne 0x418271
add eax, 2
jmp 0x418271
xor eax, eax
mov ebx, eax
inc ebx
jns 0x4182b8
mov eax, 0xffffffff
jmp 0x4182bf
lea eax, [eax*2 + 2]
push eax
call fcn.004097b0
add esp, 4
mov esi, eax
push 0
push dword [esp + 8]
push ebx
push eax
call fcn.0040be80
add esp, 0x10
add ebx, dword [esp + 0x7c]
jns 0x4182e7
mov ebx, 0xffffffff
jmp 0x4182e9
add ebx, ebx
push ebx
call fcn.004097b0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x418321
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 [edi]
add edi, 2
test cx, cx
jne 0x418310
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [esi]
test cx, cx
mov dword [esp + 0x24], esi
je 0x418351
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x418340
mov word [eax], 0
lea eax, [esp + 0xe8]
push eax
push ebx
call fcn.0043ff70
add esp, 8
not eax
shr eax, 0x1f
mov dword [esp + 4], ebx
jmp dword [eax*4 + 0x446eb4]
xor eax, eax
test byte [esp + 0xe8], 0x10
sete al
jmp dword [eax*4 + 0x446ebc]
mov esi, dword [ebp + 0xc]
lea edi, [esp + 0xe8]
mov ebx, dword [esp + 0x24]
jmp dword [0x446ec8]
mov eax, dword [esp + 0x2c]
movzx eax, word [eax]
mov ecx, ebx
test ax, ax
mov edx, dword [esp + 0xc]
je 0x4183d1
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x4183c0
mov word [ecx], 0
mov esi, dword [ebp + 0xc]
lea edi, [esp + 0xe8]
mov ebx, dword [esp + 0x24]
jmp dword [0x446ec8]
mov eax, dword [esi]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf0], ebx
mov eax, dword [esp + 4]
mov dword [esp + 0xec], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.0041bec0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf0], ebx
mov eax, dword [esp + 4]
mov dword [esp + 0xec], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.0041bec0
add esp, 0x10
jmp dword [0x446ecc]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
and cl, 1
or cl, al
mov dword [esp + 8], ecx
jmp dword [0x446ed4]
push edx
call fcn.004097c0
add esp, 4
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
jmp dword [0x446edc]
inc ebx
mov eax, dword [esp + 0x2c]
lea edi, [eax + 2]
mov dword [esp + 0xc], edi
jmp dword [0x446e9c]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
jmp dword [0x446edc]
push dword [esp + 0x24]
call fcn.004097c0
add esp, 4
inc ebx
mov eax, dword [esp + 0x2c]
lea edi, [eax + 2]
mov dword [esp + 0xc], edi
jmp dword [0x446e9c]
push esi
call fcn.00401f10
add esp, 4
mov edi, dword [esp + 0xc]
jmp case.0x41670d.30
jmp 0x418b58
jmp dword [0x446bec]
push esi
call fcn.004097c0
add esp, 4
lea eax, [esp + 0xe8]
push 0
push eax
push dword [esp + 0x8c]
call fcn.00440100
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x78], 0
jmp dword [eax*4 + 0x446bf4]
jmp dword [0x446c10]
mov edi, dword [esp + 0xe8]
lea eax, [edi + 1]
push eax
call fcn.004097b0
add esp, 4
mov esi, eax
push 0
push edi
push eax
push dword [esp + 0x90]
call fcn.004401c0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446bfc]
mov dword [esp + 0x78], 0
jmp dword [0x446c04]
mov eax, dword [esp + 0xe8]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov dword [esp + 0x78], eax
jmp dword [0x446c04]
push esi
call fcn.004097c0
add esp, 4
jmp dword [0x446c10]
jmp dword [0x446be4]
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446c1c]
mov dword [esp + 0x28], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x4185b0
mov esi, eax
mov ecx, dword [esp + 0x28]
xor esi, ecx
mov edi, ecx
not edi
and edi, eax
add edi, edi
mov eax, edi
sub eax, esi
lea edx, [eax + eax*2]
shr edx, 2
mov dword [esp + 8], eax
movzx eax, byte [ecx + eax - 1]
cmp eax, 0x3d
je 0x4185e5
cmp eax, 0x2e
jne 0x4185e6
dec edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 8]
movzx eax, byte [eax + ecx - 2]
cmp eax, 0x3d
je 0x4185fd
cmp eax, 0x2e
jne 0x4185fe
dec edx
mov dword [esp + 0x14], edx
lea eax, [edx + 1]
push eax
call fcn.004097b0
add esp, 4
mov dword [esp + 0x30], eax
cmp edi, esi
jne case.default.0x418680
mov ecx, dword [esp + 0x14]
mov eax, ecx
xor eax, 5
and ecx, 0xfffffffa
add ecx, ecx
sub ecx, eax
mov dword [esp + 0x2a0], ecx
mov ebx, dword [esp + 0x30]
mov eax, ebx
add eax, 5
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
push 0xe18a387a
push dword [0x44d30c]
call fcn.0043f2d0
add esp, 8
lea ecx, [esp + 0x34]
push ecx
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x2b8]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446c24]
mov edi, dword [esp + 0x24]
jmp dword [0x446c34]
xor ecx, ecx
mov edi, 2
jmp 0x4186b4
lea eax, [edi + 4]
add edi, 2
mov ecx, dword [esp + 0xc]
cmp edi, edx
mov edi, eax
jae 0x418616
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x28]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.0041ce20
add esp, 4
mov bh, al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.0041ce20
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 4]
mov byte [ecx + edx], al
mov eax, dword [esp + 4]
inc eax
mov dword [esp + 0xc], eax
mov edx, dword [esp + 8]
cmp edi, edx
jae 0x4186a0
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + edi]
push eax
call fcn.0041ce20
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x4186a0
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov esi, dword [esp + 4]
lea edx, [esi + 2]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x30]
mov byte [edx + esi + 1], cl
mov edx, dword [esp + 8]
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x4186a0
mov ecx, dword [esp + 0x28]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov ebx, eax
call fcn.0041ce20
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x4186a0
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 4]
mov byte [ecx + esi + 2], al
add esi, 3
mov dword [esp + 0xc], esi
jmp 0x4186a0
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x4187a0
cmp eax, 0xffffffef
jge 0x4187b7
mov eax, 0xffffffff
jmp 0x4187ba
add eax, 0x10
push eax
call fcn.004097b0
add esp, 4
mov esi, eax
mov dword [esp + 0xe8], 0x31da3f0d
mov dword [esp + 0xec], 0x350c33c0
mov dword [esp + 0xf0], 0xc9be37c0
mov dword [esp + 0xf4], 0xcdcacb3c
mov word [esp + 0xf8], 0
mov byte [esp + 0xfa], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x75
xor cl, byte [esp + eax + 0xe8]
add cl, 0xb7
mov byte [esp + eax + 0xe8], cl
inc eax
cmp eax, 0x13
jne 0x418810
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x418851
add edi, 2
mov eax, esi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x418840
mov word [eax], 0
movzx edi, word [esp + 0xe8]
test di, di
je 0x418883
lea edx, [esp + 0xea]
mov ecx, dword [ebp + 8]
nop
nop
nop
mov word [eax], di
add eax, 2
movzx edi, word [edx]
add edx, 2
test di, di
jne 0x418870
jmp 0x418886
mov ecx, dword [ebp + 8]
mov word [eax], 0
push dword [esp + 0x34]
push dword [esp + 0x3c]
push esi
call fcn.0040a390
jmp dword [0x446c2c]
push esi
call fcn.004097c0
add esp, 4
push 0xa7ffa4f5
push dword [0x44c2f4]
call fcn.0043f2d0
add esp, 8
push dword [esp + 0x38]
call eax
mov edi, dword [esp + 0x24]
jmp dword [0x446c34]
jmp dword [0x446c3c]
mov dword [esp + 0xe8], 0x20dd322f
mov dword [esp + 0xec], 0x33363c36
mov dword [esp + 0xf0], 0x3b3a28e6
mov dword [esp + 0xf4], 0x3a212fd3
mov dword [esp + 0xf8], 0x36cd353e
mov dword [esp + 0xfc], 0x2e24363a
mov dword [esp + 0x100], 0x3f3f2d28
mov dword [esp + 0x104], 0x263b36c3
mov byte [esp + 0x108], 0xe0
mov dword [esp + 0x109], 0
mov word [esp + 0x10d], 0
mov eax, 0x98c4d9a0
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x673b2748]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xe0
mov byte [esp + eax + 0x673b2748], cl
inc eax
cmp eax, 0x98c4d9c7
jne 0x418950
lea eax, [esp + 0xe8]
push eax
push edi
call fcn.00401eb0
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x446c4c]
mov dword [esp + 8], ecx
mov dword [esp + 0xe8], 0xada5a3a0
mov dword [esp + 0xec], 0xf9b3b9b5
mov dword [esp + 0xf0], 0xbcb4bfb1
mov dword [esp + 0xf4], 0x84878683
mov word [esp + 0xf8], 0xbcb8
mov byte [esp + 0xfa], 0x22
mov dword [esp + 0xfb], 0
mov edx, 0xcd8990cc
mov esi, 0x32766f33
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x3276701c]
mov eax, esi
or eax, edi
lea ebx, [esi - 0x32766f00]
and ebx, edi
xor ebx, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 4
mov byte [esp + edx + 0x3276701c], al
inc edx
dec esi
cmp edx, 0xcd8990e3
jne 0x418a00
lea eax, [esp + 0xe8]
push eax
push dword [esp + 0x28]
call fcn.00401ee0
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov dword [esp + 0x30], esi
jmp dword [eax*4 + 0x446e94]
mov dword [esp + 0xe8], 0x49d14bf0
mov dword [esp + 0xec], 0x45d947d2
mov dword [esp + 0xf0], 0x41d643cf
mov dword [esp + 0xf4], 0xbdbebfcc
lea edx, [esp + 0xf8]
mov dword [esp + 0xf8], 0
mov eax, 0x8c
lea edi, [esp + 0xe8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea esi, [eax - 0x80]
and esi, 0x6f
mov ecx, eax
and ecx, 0x90
or ecx, esi
xor cl, byte [edi]
mov bl, 0xc0
sub bl, cl
mov byte [edi], bl
inc edi
dec eax
cmp eax, 0x78
jne 0x418ad0
lea eax, [esp + 0x2a0]
lea esi, [esp + 0xe8]
mov ebx, esi
mov ecx, 4
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0x2b0]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov dword [esp + 0xe8], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
call fcn.0041bec0
add esp, 0x10
mov ecx, dword [esp + 8]
and cl, 1
or cl, al
mov dword [esp + 8], ecx
push dword [esp + 0x78]
call fcn.004020a0
add esp, 4
jmp dword [0x446ee4]
push dword [esp + 0x2c]
call fcn.004097c0
add esp, 4
mov eax, dword [esp + 8]
and al, 1
jmp case.0x41535b.4
xor ebx, ebx
mov eax, dword [esp + 0x2c]
lea edi, [eax + 2]
mov dword [esp + 0xc], edi
jmp dword [0x446e9c]
mov dword [esp + 0xe8], 0x776d690e
mov dword [esp + 0xec], 0
mov word [esp + 0xf0], 0
mov eax, 1
mov ecx, 0xe14765fe
nop
nop
movzx edx, byte [esp + eax + 0xe7]
mov esi, eax
xor esi, ecx
and esi, edx
xor esi, ecx
mov edx, esi
not edx
and edx, 0x7a
xor esi, 5
lea edx, [esi + edx*2]
inc dl
mov byte [esp + eax + 0xe7], dl
inc eax
dec ecx
cmp eax, 0xb
jne 0x418bc0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0xe8]
test cl, cl
je 0x418c14
lea edx, [esp + 0xe9]
mov esi, dword [ebp + 0xc]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x418c07
jmp 0x418c17
mov esi, dword [ebp + 0xc]
mov byte [eax], 0
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xe8]
push 1
call fcn.0040a2a0
mov ecx, dword [esi]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x418c40
cmp eax, 0xffffffe9
mov dword [esp + 0xc], ecx
jge 0x418c5b
mov eax, 0xffffffff
jmp 0x418c5e
add eax, 0x16
push eax
call fcn.004097b0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x2a0], 0x81ca87f5
mov dword [esp + 0x2a4], 0x8d20832f
mov dword [esp + 0x2a8], 0x89278f33
mov dword [esp + 0x2ac], 0x95368bfe
mov dword [esp + 0x2b0], 0x912a972c
mov dword [esp + 0x2b4], 0x9390
xor edx, edx
mov esi, 0x5e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x2a0]
mov ebx, edi
not ebx
or ebx, esi
mov eax, ebx
or al, 2
inc al
mov ecx, ebx
shr cl, 1
and cl, 1
mul cl
mov ecx, eax
add cl, al
mov eax, edi
add cl, al
test bl, 2
sete al
not bl
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x7c
mov byte [esp + edx + 0x2a0], al
inc edx
dec esi
cmp edx, 0x18
jne 0x418cc0
mov edx, dword [esp + 0xc]
movzx ecx, word [edx]
mov ebx, dword [esp + 4]
mov eax, ebx
test cx, cx
je 0x418d33
add edx, 2
mov eax, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x418d22
mov word [eax], 0
movzx ecx, word [esp + 0x2a0]
test cx, cx
mov esi, dword [esp + 0xe0]
je 0x418d64
lea edx, [esp + 0x2a2]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x418d53
mov word [eax], 0
mov eax, dword [esp + 0x10]
sub eax, esi
lea edi, [esp + 0xe8]
mov ecx, edi
push eax
push esi
push ebx
call fcn.0040a390
mov ecx, edi
call fcn.0040ad50
jmp dword [0x446e84]
push ebx
call fcn.004097c0
add esp, 4
jmp dword [0x446e8c]
jmp dword [0x446e8c]
push esi
call fcn.004097c0
add esp, 4
lea ecx, [esp + 0xe8]
call fcn.0040a380
mov ecx, dword [esp + 8]
jmp case.0x418680.10
push edi
call fcn.004097c0
add esp, 4
mov eax, dword [esp + 0x7c]
mov ecx, eax
and ecx, 0xc
xor eax, 0xc
lea eax, [eax + ecx*2]
test eax, eax
jns 0x418de3
mov eax, 0xffffffff
jmp 0x418de5
add eax, eax
push eax
call fcn.004097b0
add esp, 4
mov esi, eax
mov dword [esp + 0xe8], 0xd182cf90
mov dword [esp + 0xec], 0xd5b7d3a1
mov dword [esp + 0xf0], 0xd9bad7b7
mov dword [esp + 0xf4], 0xdd8fdbf8
mov dword [esp + 0xf8], 0xe1bddfa8
mov dword [esp + 0xfc], 0xe585e394
mov word [esp + 0x100], 0xe7e4
mov dword [esp + 0x102], 0
mov word [esp + 0x106], 0
lea eax, [esp + 0xe8]
mov ecx, 0x48142e32
nop
nop
nop
movzx edi, byte [eax]
lea edx, [ecx - 0x40000000]
xor edi, 0xf0900bd4
mov ebx, ecx
and ebx, 0x40100a14
and edx, 0x804242b
or edx, 0xc0100204
xor edx, ebx
xor edx, 0xcf7ff62f
mov ebx, edi
and ebx, edx
add edx, edi
add ebx, ebx
sub edx, ebx
dec dl
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x48142e12
jne 0x418e60
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x418ed1
mov eax, dword [esp + 0x2c]
lea edx, [eax + 2]
mov eax, esi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x418ec0
mov word [eax], 0
movzx ecx, word [esp + 0xe8]
test cx, cx
je 0x418f01
lea edx, [esp + 0xea]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x418ef0
mov word [eax], 0
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043fdd0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446bd4]
jmp dword [0x446bdc]
push dword [esp + 0x2c]
call fcn.004097c0
add esp, 4
jmp dword [0x446be4]
push esi
jmp 0x4169a6
jmp dword [0x446bcc]
mov eax, dword [esp + 0x84]
mov dword [esp + 0xe8], 0x1c1d1a1b
mov dword [esp + 0xec], 0
xor ecx, ecx
nop
movzx esi, byte [esp + ecx + 0xe8]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0xe8], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x418f70
mov ecx, dword [0x44d300]
test ecx, ecx
je 0x418ffa
mov edx, dword [esp + 0xe8]
xor esi, esi
mov edi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x418fe0
inc esi
cmp ecx, esi
jne 0x418fd0
jmp 0x418ffa
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x418ffa
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
push dword [esp + 0x78]
call fcn.00401af0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xe8], 0x7c476a75
mov dword [esp + 0xec], 0x51726872
mov dword [esp + 0xf0], 0x4448408a
mov dword [esp + 0xf4], 0x594a504a
mov dword [esp + 0xf8], 0x44774b4b
mov word [esp + 0xfc], 0x584f
mov byte [esp + 0xfe], 0xd2
mov dword [esp + 0xff], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 4], eax
movzx ebx, byte [esp + ecx + 0xe8]
mov edx, dword [esp + 4]
and edx, 0x32
mov edi, ecx
xor edi, 0x6308959
add edi, edx
mov edx, ebx
not edx
lea eax, [ebx + edx*2]
mov esi, 0xfffffffe
sub esi, eax
lea ebx, [ebx + edx*2]
inc ebx
mov eax, ebx
and eax, 0x2909dd3
and esi, 0xfd6f622c
or esi, eax
or ebx, edi
or edx, edi
xor esi, edi
xor esi, 0x2909dd3
and esi, ebx
lea edi, [edx + edx]
not edi
add edi, edx
mov eax, edx
and eax, 0x99
and edi, 0x66
or edi, eax
xor edi, esi
not edx
and edx, esi
xor edi, 0x99
or edx, edi
add dl, 0x43
mov byte [esp + ecx + 0xe8], dl
mov eax, dword [esp + 4]
inc ecx
add eax, 2
cmp ecx, 0x1b
jne 0x419070
lea eax, [esp + 0xe8]
push eax
mov edi, dword [esp + 0x28]
push edi
call fcn.00401eb0
add esp, 8
jmp dword [0x446c14]
mov eax, dword [esp + 0x84]
mov dword [esp + 0xe8], 0x1c1d1a1b
mov dword [esp + 0xec], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0xe8]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0xe8], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x419140
mov ecx, dword [0x44d300]
test ecx, ecx
je 0x4191ca
mov edx, dword [esp + 0xe8]
xor esi, esi
mov edi, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x4191b0
inc esi
cmp ecx, esi
jne 0x4191a0
jmp 0x4191ca
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x4191ca
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
push dword [esp + 0x78]
call fcn.00401af0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xe8], 0x7c476a75
mov dword [esp + 0xec], 0x51726872
mov dword [esp + 0xf0], 0x4448408a
mov dword [esp + 0xf4], 0x594a504a
mov dword [esp + 0xf8], 0x44774b4b
mov word [esp + 0xfc], 0x584f
mov byte [esp + 0xfe], 0xd2
mov dword [esp + 0xff], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 4], eax
movzx ecx, byte [esp + edx + 0xe8]
mov esi, dword [esp + 4]
and esi, 0x32
mov edi, edx
xor edi, 0x6308959
add edi, esi
mov ebx, ecx
not ebx
lea eax, [ecx + ebx*2]
mov esi, 0xfffffffe
sub esi, eax
lea ecx, [ecx + ebx*2]
inc ecx
mov eax, ecx
and eax, 0x2909dd3
and esi, 0xfd6f622c
or esi, eax
or ecx, edi
or ebx, edi
xor esi, edi
xor esi, 0x2909dd3
and esi, ecx
lea edi, [ebx + ebx]
not edi
add edi, ebx
mov eax, ebx
and eax, 0x99
and edi, 0x66
or edi, eax
xor edi, esi
not ebx
and ebx, esi
mov eax, dword [esp + 4]
xor edi, 0x99
or ebx, edi
add bl, 0x43
mov byte [esp + edx + 0xe8], bl
inc edx
add eax, 2
cmp edx, 0x1b
jne 0x419240
lea eax, [esp + 0xe8]
push eax
push dword [esp + 0x28]
call fcn.00401eb0
add esp, 8
jmp case.0x41535b.40
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0xe8], 0x1c1d1a1b
mov dword [esp + 0xec], 0
xor ecx, ecx
movzx esi, byte [esp + ecx + 0xe8]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0xe8], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x419300
mov ecx, dword [0x44d300]
test ecx, ecx
je case.0x41535b.20
mov edx, dword [esp + 0xe8]
xor esi, esi
mov ebx, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x1b6183f2
je 0x419370
inc esi
cmp ecx, esi
jne 0x419360
jmp case.0x41535b.20
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.0x41535b.20
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0xe8], 0x1c1d1a1b
mov dword [esp + 0xec], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0xe8]
lea edx, [ecx - 0x39f3ff06]
xor edx, esi
neg edx
mov esi, edx
and esi, 0x63
add esi, esi
xor edx, 0x1c
sub edx, esi
add dl, 2
mov byte [esp + ecx + 0xe8], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 8
jb 0x4193b0
mov ecx, dword [0x44d300]
test ecx, ecx
je 0x419428
mov edx, dword [esp + 0xe8]
xor esi, esi
mov ebx, dword [0x44d304]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x1b6183f2
je 0x419420
inc esi
cmp ecx, esi
jne 0x419410
jmp 0x419428
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x41942e
jmp dword [0x446bc4]
push eax
push 4
push ecx
push dword [0x44d308]
call fcn.0043d770
add esp, 0x10
jmp dword [0x446bc4]
lea ecx, [esp + 0x88]
call fcn.0043b390
jmp 0x418b94
cmp dword [esp + 0x2a0], 0
je 0x419446
push 0xff2f0998
push dword [0x44d314]
call fcn.0043f2d0
add esp, 8
push dword [esp + 0x2a0]
call eax
jmp 0x419446
push esi
call fcn.004097c0
add esp, 4
push esi
call fcn.004097c0
add esp, 4
jmp dword [0x446e80]
push ebx
call fcn.004097c0
add esp, 4
push ebx
call fcn.004097c0
add esp, 4
jmp dword [0x446c44]
xchg byte [ecx], al
mov dword [edi - 0x7760ffbf], eax
inc ecx
add byte [eax - 0x34ffbe78], ch
mov byte [ecx], al
ror dword [eax - 0x6b5fffbf], 1
inc ecx
add byte [edi - 0x2effbe6c], dl
mov byte [ecx], al
xchg edi, eax
xchg esp, eax
inc ecx
add byte [edx - 0x47ffbe77], bl
imul eax, dword [ecx], case.0x418680.12
loopne 0x446cc3
inc ecx
add byte [ebx - 0x55ffbe96], ah
push 0x41
add byte [edx + 0x6e00416a], ch
imul eax, dword [ecx], 0x75
imul eax, dword [ecx], 0x4d
insd dword es:[edi], dx
push 0x41
add byte [edx + 0x6e00416a], ch
imul eax, dword [ecx], 0x75
imul eax, dword [ecx], 0x4d
insd dword es:[edi], dx
inc ecx
add byte [ecx], bl
insb byte es:[edi], dx
inc ecx
add byte [ebp + 0x6c], ah
inc ecx
add byte [edx + 0x6c], ch
inc ecx
add byte [0x7e004157], ah
insb byte es:[edi], dx
inc ecx
add byte [edx], ch
add byte [ecx], 0xba
insb byte es:[edi], dx
inc ecx
add byte [edx], ch
add byte [ecx], 0xf8
insb byte es:[edi], dx
inc ecx
add byte [edx], bl
add byte [ecx], 0x23
add byte [ecx], 0x28
add byte [ecx], 0x28
add byte [ecx], 0x28
add byte [ecx], 0x2a
add byte [ecx], 0x70
insd dword es:[edi], dx
inc ecx
add byte [eax + 0x6d], dh
inc ecx
add byte [edx + 0x6d], dh
inc ecx
add byte [eax + 0x6d], dh
inc ecx
add byte [eax + 0x6d], bh
inc ecx
add byte [esi + 0x3800416d], al
add byte [eax], bh
outsb dx, byte [esi]
inc ecx
add byte [edx - 0x65ffbe77], bl
mov dword [ecx], eax
dec ebp
outsb dx, byte [esi]
inc ecx
add byte [edx + 0x62004189], bl
outsb dx, byte [esi]
inc ecx
add byte [0x6000416f], dh
outsd dx, dword [esi]
inc ecx
add al, al
jae 0x446d28
add byte [ebp - 0x4affbe8e], dl
jae 0x446d30
add al, al
jae 0x446d34
add bh, ah
js 0x446d38
add byte [0xe7004174], bl
add bh, ah
js 0x446d40
add byte [esp + esi*2], ch
inc ecx
add bl, bl
je 0x446d48
add bl, ah
je 0x446d4c
add byte [esi + 0x78], bh
inc ecx
add byte [ebx + 0x7004175], dh
ja 0x446d58
add byte [0xca004177], dl
ja 0x446d60
add bh, cl
ja 0x446d64
add byte [eax + edi*2 + 0x41], bh
add byte [eax + edi*2 + 0x41], bh
jl 0x446da2
inc ecx
add byte [eax + edi*2 + 0x41], bh
add byte [esi + 0x78], bh
jle 0x446daa
inc ecx
add byte [edx - 0x18ffbe88], ah
mov byte [0xe7004178], al
out 0x78, eax
inc ecx
js 0x446d7c
add cl, bh
js 0x446d80
add byte [ebx], dl
jns 0x446d84
adc edi, dword [ecx + 0x41]
add byte [0x1700417c], al
jl 0x446d88
add byte [edi], dl
pop ss
jl 0x446d8c
add byte [ecx + 0x500417c], al
jge 0x446d94
cmp dword [ecx + eax*2], case.0x417bfe.2
or edi, dword [ebp + 65]
add byte [ebx], cl
jge 0x446d98
add byte [eax], ch
jge 0x446d9c
sub byte [ebp + 0x41], bh
add byte [ecx], al
add byte [ecx], 0x3c
jge 0x446da4
cmp al, 0x7d
inc ecx
add byte [ecx], al
add byte [ecx], 0x43
add byte [ecx], 0xa9
add byte [ecx], 0xf
add dword [eax - 0x7fbcffbf], eax
inc ecx
add byte [ecx + 0xf004180], ch
add dword [ecx], case.0x417ffa.1463931799
jmp 0x446cfb
push es
jns 4484544
add byte [edi], cl
add byte [ecx], 0x18
add byte [ecx], 0x18
jo 0x805c6dc7
sbb byte [eax - 0x7fe7ffbf], al
inc ecx
add byte [edx], bl
inc ecx
add byte [eax], bl
sbb byte [eax - 0x7fe5ffbf], al
inc ecx
add byte [eax], bl
add byte [ecx], 0x1a
sbb al, byte [eax - 0x7fe7ffbf]
inc ecx
add byte [esi + 0x68004169], dl
push edi
inc ecx
add byte [eax + 0x57004169], ah
add byte [ecx], 0x18
add byte [ecx], 0x96
xchg esi, eax
imul eax, dword [ecx], case.0x417bfe.20
push 0xa0004157
imul eax, dword [ecx], case.0x41670d.23
mov al, byte [0x57004169]
xchg esp, eax
inc ecx
add byte [ebp + 0x59ca0041], bh
inc ecx
add dl, cl
pop ecx
mov esp, 0xca004165
inc ecx
add dl, cl
pop ecx
inc ecx
add byte [edx], dh
inc ecx
add byte [esi + 0x5a], dh
inc ecx
add byte [ebx + 0x3a004164], ah
inc ecx
add byte [edx], bh
inc ecx
add byte [edx], bh
pop ebx
inc ecx
add dl, al
pop esi
inc ecx
add dh, al
pop esi
inc ecx
add dh, ah
arpl word [ecx], ax
adc bl, byte [edi + 0x41]
add byte [eax], bh
invalid
bound eax, qword [ecx]
inc ecx
bound eax, qword [ecx]
and byte [edx + 0x41], 0
pop ebx
bound eax, qword [ecx]
and byte [edx + 0x41], 0
pop ss
arpl word [ecx], ax
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
cmp byte [edx + 0x41], ah
add dl, ah
arpl word [ecx], ax
scasd eax, dword es:[edi]
arpl word [ecx], ax
nop
imul eax, dword [ecx], case.0x4163db.3
lcall 0x4164, 0xa3004164
add cl, dh
inc ecx
add al, ah
inc ecx
add byte [eax], cl
inc cx
add al, ah
inc ecx
add byte [edx], dl
inc cx
add byte [edi], dl
adc al, 0x67
inc ecx
add byte [edi], dl
inc ecx
inc ecx
add dh, al
inc cx
add byte [edx], ch
inc ecx
add byte [eax + 0x67], al
inc ecx
add byte [eax + 0x57], cl
inc ecx
add byte [eax + 0x67], ah
inc ecx
add byte [eax + 0x67], ah
inc ecx
add byte [eax + 0x67], ah
inc ecx
add byte [eax + 0x67], ah
inc ecx
add byte [esi + 0x67], ah
inc ecx
add byte [eax + 0x57], cl
inc ecx
add byte [ebp + 0x67], dh
inc ecx
add byte [eax - 0x6ffbe99], al
inc ecx
add cl, bh
inc ecx
add byte [eax + 0x40004168], al
inc ecx
add byte [eax + ebp*2 + 0x69490041], cl
inc ecx
add byte [eax + 0x57], cl
inc ecx
add byte [edi - 0x6c], bh
inc ecx
add byte [eax + 0x7f004194], cl
xchg esp, eax
inc ecx
add byte [edi - 0x6c], dl
inc ecx
add byte [ebp - 0x63ffbe73], cl
lea eax, [ecx]
mov byte [0xab00418d], al
lea eax, [ecx]
jp 0x446e20
inc ecx
add byte [ecx + 0x3000418b], al
add byte [ecx], 0xbf
test byte [ecx], al
aas
add byte [ecx], 48
add byte [ecx], 0xd1
test byte [ecx], al
push ecx
add byte [ecx], 159
add dword [ecx], 0x77
add dword [ecx], 0xffffff8b
add dword [ecx], 0xffffff9f
add dword [ecx], 0xffffffea
add dword [ecx], 0x20
test byte [ecx], al
push ebx
test byte [ecx], al
and byte [ecx + eax*2 + 0x41846a00], al
add byte [ebx - 1593818748], dl
test byte [ecx], al
add dword [ecx + eax*2 + 0x418b6a00], 0x418b7600
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x75], dh
inc ecx
add byte [eax - 0x6fffbe97], dl
imul eax, dword [ecx], case.0x4163db.2
xchg esi, eax
imul eax, dword [ecx], 5010210
test al, 0x73
dec esp
add byte [0x9e999101], dl
nop
jo 0x446efe
inc ecx
add byte [eax - 0x6fffbe97], dl
imul eax, dword [ecx], case.0x417bfe.19
and dh, byte [ebx + 0x4c]
add byte [eax + 0x15004c73], ch
add dword [ecx + 0x70909e99], edx
loop 0x446f60
inc ebx
in al, 0x7e
xor esi, 0xffffffff
xchg edx, eax
jg 0x446f7d
sar dword [ebx + 0x16], cl
or eax, 0xe8004c75
je 0x446f7b
add al, bl
in al, dx
int 0x36
call 0x7844bbae
ja 0x446f87
add ah, al
invalid
and al, 0x7a
dec esp
add byte [ebx], ch
js 0x446fb3
add byte [edx + ecx + 0x7a24fe94], bh
dec esp
jp 0x446fbb
add byte [ecx + 0x7b], cl
dec esp
add byte [ebx - 0x5d], dh
mov dword [esp + edx], edi
mov ch, 0xb4
ret 0xa94b
test eax, 0x7f6c2954
dec esp
add byte [0x95004c7c], ch
clc
mov al, 0x62
insb byte es:[edi], dx
add byte [ebp + 0x6c62b0f8], dl
jg 0x446fdb
add byte [esi + 0x7c], cl
dec esp
add byte [0xbe38e300], dh
aas
xchg ebx, eax
mov ebx, 0x813c3bc1
or al, 0x7c
dec esp
add byte [ebp + edi*2 + 0x4c], al
inc esp
jge 0x446ff3
add cl, dl
xor esp, dword [ecx]
mov edx, edi
jle 0x446ffb
add bl, dh
jnp 0x446fff
add byte [ebx - 0x7282b727], bh
invalid
call 0x9985530a
mov esp, 0xd3542528
jno 0x446fa4
push ecx
test byte [ebx], al
push ecx
xlatb
sub ebx, eax
and eax, 0x4c7c0c83
add byte [edi + edi*2 + 0x4c], ch
add byte [eax - 0x23d9d3d2], bh
sub al, 0x26
fadd qword [eax - 0x7f18ffb4]
fadd qword es:[eax - 0x7f18ffb4]
dec esp
add byte [edx], ah
fistp dword [edi + edx*4]
jnp 0x446f6d
dec esp
add byte [eax], al
or dword [eax + eax + 0x24], 0xa8493b15
test dword [eax + eax + 0x7b], ecx
or dword [eax + eax + 0x49], 0x2a
dec ecx
invalid
dec ecx
test al, 0x85
dec esp
add byte [ebx - 0x7d], bh
dec esp
add byte [ecx + 0x2a], cl
dec ecx
invalid
pop es
dec edx
rol dword [ebp - 0x7a0bffb4], 0x4c
add byte [edx], ch
in eax, 0x21
ret 0xbf7c