Function at 0x41e770
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x450
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], 0xffa09ff
mov dword [esp + 0x54], 0x3e30de9
mov dword [esp + 0x58], 0x73401fd
mov dword [esp + 0x5c], 0x1b9205e1
mov dword [esp + 0x60], 0x1f1e19fd
mov dword [esp + 0x64], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x41e828
nop
nop
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 + 0x50]
lea edx, [eax + ecx]
add edx, 0x53bae4c2
add eax, 0x53bae4c2
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x34]
mov ecx, eax
not ecx
and ecx, 0xca
and eax, 0x35
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x41e7e0
lea edi, [esp + 0x50]
lea ecx, [esp + 0x40]
push edi
call fcn.00434160
shr eax, 0x1f
jmp dword [eax*4 + 0x43fed4]
lea ecx, [esp + 0x40]
push 0x410
call fcn.00434390
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43feec]
mov dword [esp + 0x50], 0x5eb54c57
mov dword [esp + 0x54], 0x4c52bf54
mov dword [esp + 0x58], 0x585355b3
mov dword [esp + 0x5c], 0x956e6ab7
mov dword [esp + 0x60], 0x748d8696
mov dword [esp + 0x64], 0x6d808a8f
mov dword [esp + 0x68], 0x666f8a6a
mov dword [esp + 0x6c], 0x7a917881
mov dword [esp + 0x70], 0x92848282
mov dword [esp + 0x74], 0x729db783
mov dword [esp + 0x78], 0xe1b29b93
mov word [esp + 0x7c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x41e8fe
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xcaa31c53
xor eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
add al, 0x61
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x41e8d0
lea eax, [esp + 0x34]
lea ecx, [esp + 0x40]
push 0
push 0x2b
push edi
push eax
call fcn.004349b0
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
xor eax, eax
cmp ebx, esi
sete al
jmp dword [eax*4 + 0x43fef4]
mov eax, ebx
not eax
and eax, esi
add eax, eax
mov ecx, esi
xor ecx, ebx
sub eax, ecx
sar eax, 2
mov ecx, eax
or ecx, 0x421
mov edx, eax
and edx, 0x421
imul ecx, edx
and eax, 0xfffffbde
xor edx, 0x421
imul edx, eax
add edx, ecx
push edx
call fcn.004092e0
add esp, 4
mov dword [esp + 0x20], 0
xor ecx, ecx
mov dword [esp + 0x28], esi
cmp ebx, esi
setne cl
mov dword [esp + 0x1c], eax
mov ebp, eax
jmp dword [ecx*4 + 0x43fefc]
xor ebx, ebx
jmp dword [0x43fee4]
mov ebx, dword [esp + 0x2c]
add ebx, 4
xor eax, eax
cmp ebx, dword [esp + 0x28]
setne al
jmp dword [eax*4 + 0x43fefc]
mov esi, dword [ebx]
push 0x400
push 0
push edi
call fcn.004094a0
add esp, 0xc
mov dword [esp + 0x2c], ebx
mov eax, esp
lea ecx, [esp + 0x40]
push eax
push 0x400
push edi
push esi
call fcn.00434830
cmp eax, 0xc0000000
setae al
cmp dword [esp], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43ff0c]
mov eax, 1
jmp dword [eax*4 + 0x43ff14]
xor eax, eax
jmp dword [eax*4 + 0x43ff14]
mov byte [esp + 0x44f], 0
movzx eax, byte [esp + 0x50]
xor esi, esi
test al, al
je 0x41ea41
mov ecx, edi
nop
nop
cmp al, 0x2e
je 0x41ea3f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41ea30
jmp 0x41ea41
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43ff1c]
movzx eax, byte [esi + 1]
inc esi
xor ebx, ebx
test al, al
je 0x41ea71
mov ecx, esi
nop
nop
nop
nop
cmp al, 0x2e
je 0x41ea6f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41ea60
jmp 0x41ea71
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43ff24]
mov edx, ebx
sub edx, esi
lea edi, [edx + edx*2]
shr edi, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
je 0x41ea97
cmp eax, 0x2e
jne 0x41ea98
dec edi
mov eax, edx
not eax
and eax, 2
mov ecx, edx
and ecx, 0xfffffffd
sub ecx, eax
movzx eax, byte [esi + ecx]
cmp eax, 0x3d
mov dword [esp + 0x10], edx
je 0x41eab8
cmp eax, 0x2e
jne 0x41eabf
mov dword [esp + 0x24], ebp
dec edi
jmp 0x41eac3
mov dword [esp + 0x24], ebp
mov dword [esp + 0x4c], edi
lea eax, [edi + 1]
push eax
call fcn.004092e0
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], esi
cmp ebx, esi
mov esi, dword [esp + 0x10]
je 0x41ebcc
xor edx, edx
mov ebp, 2
jmp 0x41eb08
mov ecx, esi
mov edi, ebx
lea eax, [ebp + 4]
add ebp, 2
mov edx, edi
cmp ebp, ecx
mov ebp, eax
mov esi, ecx
jae 0x41ebcc
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x30]
movzx eax, byte [edi + ebp - 2]
push eax
call fcn.00415cd0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + ebp - 1]
push eax
call fcn.00415cd0
mov edx, dword [esp + 0x18]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ebx, [edx + 1]
mov ecx, dword [esp + 0xc]
mov byte [ecx + edx], ah
cmp ebp, esi
jae 0x41eaf0
mov byte [esp + 0xb], al
movzx eax, byte [edi + ebp]
push eax
call fcn.00415cd0
mov ecx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x41eaf4
movzx edx, byte [esp + 0xb]
shl dl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, dl
mov esi, dword [esp + 0x14]
lea edi, [esi + 2]
mov edx, dword [esp + 0xc]
mov byte [edx + esi + 1], al
lea eax, [ebp + 1]
cmp eax, ecx
jae 0x41eaf4
mov eax, dword [esp + 0x30]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00415cd0
mov ecx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x41eaf4
shl bl, 6
add al, bl
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov byte [edx + esi + 2], al
add esi, 3
mov edi, esi
jmp 0x41eaf4
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0xc]
mov byte [esi + eax], 0
push esi
call fcn.00402560
add esp, 4
mov ebx, eax
jmp dword [0x43ff2c]
push esi
call fcn.004092f0
add esp, 4
push ebx
call fcn.00402ed0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea edi, [esp + 0x50]
mov ebp, dword [esp + 0x24]
jmp dword [ecx*4 + 0x43ff34]
jmp 0x41ed17
mov dword [esp + 0x18], 0x93701c63
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x41ec63
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x18]
add ecx, 0xe6bd1b5c
xor ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x34
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x18], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x41ec30
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.00402e20
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ff3c]
jmp 0x41ecf2
jmp dword [0x43ff48]
movzx ecx, byte [eax]
mov edx, ebp
test cl, cl
je 0x41ecab
lea esi, [eax + 1]
mov edx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x41eca0
mov word [edx], 0x203a
jmp case.0x41ec78.3
mov word [ecx], 0x203a
jmp dword [0x43ff50]
movzx edx, byte [eax]
mov ecx, ebp
test dl, dl
je 0x41ecc0
lea esi, [eax + 1]
mov ecx, ebp
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x41ece0
jmp 0x41ecc0
add ecx, 2
mov ebp, ecx
movzx eax, byte [esp + 0x50]
test al, al
je 0x41ed0c
lea ecx, [esp + 0x51]
nop
mov byte [ebp], al
inc ebp
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ed00
mov byte [ebp], 0xa
inc ebp
mov al, 1
mov dword [esp + 0x20], eax
push ebx
call fcn.00403160
add esp, 4
mov ebx, dword [esp + 0x2c]
add ebx, 4
xor eax, eax
cmp ebx, dword [esp + 0x28]
setne al
jmp dword [eax*4 + 0x43fefc]
mov ebx, dword [esp + 0x20]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x43ff04]
mov esi, dword [esp + 0x1c]
jmp dword [0x43ff64]
xor edi, edi
test ebx, ebx
jne 0x41ee91
jmp 0x41ee9e
mov ecx, dword [esp + 0x464]
mov byte [ebp], 0
mov esi, dword [esp + 0x1c]
sub ebp, esi
mov dword [esp + 0x50], 0x4d4e4fbf
mov dword [esp + 0x54], 0x4151564b
mov dword [esp + 0x58], 0x7c48464f
mov dword [esp + 0x5c], 0x6a7e9eb9
mov dword [esp + 0x60], 0x95bf706f
mov dword [esp + 0x64], 0x7b657e71
mov dword [esp + 0x68], 0x5172b971
mov dword [esp + 0x6c], 0xdb6c
mov byte [esp + 0x70], 0
jmp dword [0x43ff54]
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x20
ja case.0x41ea78.12
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x50]
add eax, 0x86a07fd5
xor eax, edx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xd7
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x21
jb 0x41edd0
jmp case.0x41ea78.12
jmp dword [0x43ff60]
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x20
ja 0x41ee10
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x50]
add eax, 0x86a07fd5
xor eax, edx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xd7
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x21
jb 0x41ee30
jmp 0x41ee10
lea eax, [esp + 0x50]
push ebp
push esi
push eax
call fcn.00409e30
mov ebx, eax
jmp dword [0x43ff64]
push esi
call fcn.004092f0
add esp, 4
and bl, 1
mov edi, ebx
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
test ebx, ebx
je 0x41ee9e
cmp ebx, esi
je 0x41ee9e
push ebx
call fcn.004092f0
add esp, 4
mov ebx, edi
lea ecx, [esp + 0x40]
call fcn.00434500
mov eax, ebx
add esp, 0x450
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x43ffd4]
mov eax, dword [ebp - 0x34]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax], 0
lea eax, [eax + 2]
jne 0x41ef70
add eax, ecx
add eax, 0xfffffffe
mov esi, ecx
not esi
and esi, eax
add esi, esi
xor eax, ecx
sub esi, eax
sar esi, 1
lea eax, [esi + 0x13]
mov dword [ebp - 0x28], eax
jmp dword [0x43ffdc]
cmp esi, 0xffffffed
jge 0x41f382
mov eax, 0xffffffff
jmp 0x41f387
xor eax, eax
test ecx, ecx
sete al
xor edx, edx
jmp dword [eax*4 + 0x43ffcc]
jmp dword [edx*4 + 0x43ff7c]
mov dword [ebp - 0xbc], 0x8fd88924
mov dword [ebp - 0xb8], 0x83d98dc9
mov dword [ebp - 0xb4], 0x87d181d9
mov dword [ebp - 0xb0], 0x9bcc85d0
mov dword [ebp - 0xac], 0x9f329931
mov dword [ebp - 0xa8], 0x93d39dc1
mov dword [ebp - 0xa4], 0x97ce91d7
mov dword [ebp - 0xa0], 0xebb895cd
mov dword [ebp - 0x9c], 0xef42e9ad
mov dword [ebp - 0x98], 0xe3b1edbb
mov dword [ebp - 0x94], 0xe7b2e1ba
mov dword [ebp - 0x90], 0xfbbbe54f
mov dword [ebp - 0x8c], 0xffbbf9ae
mov dword [ebp - 0x88], 0xf358fd50
mov dword [ebp - 0x84], 0xf74af151
mov dword [ebp - 0x80], 0xcb6ff57e
mov dword [ebp - 0x7c], 0xcf99c964
mov dword [ebp - 0x78], 0xc367cd78
mov dword [ebp - 0x74], 0xc77bc161
mov word [ebp - 0x70], 0xc5c4
lea eax, [ebp - 0x6e]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x50
ja 0x41f0d2
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xbc]
add eax, 0x31fbe9a2
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0xd6
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0xbc], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x51
jb 0x41f0a0
lea eax, [ebp - 0x58]
lea ecx, [ebp - 0xbc]
push 0
push 0
push esi
push eax
push ecx
call fcn.00438e70
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43ff84]
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0xcc]
push ecx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x58]
call fcn.00439290
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43ff8c]
mov ecx, dword [ebp - 0x68]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x41f134
mov eax, 0xffffffff
push eax
call fcn.004092e0
add esp, 4
mov esi, eax
mov dword [ebp - 0xbc], 0x91009f27
mov dword [ebp - 0xb8], 0x95069305
mov dword [ebp - 0xb4], 0x890a9737
mov dword [ebp - 0xb0], 0x8d3a8b14
mov dword [ebp - 0xac], 0x811a8f2f
mov dword [ebp - 0xa8], 0x85828318
mov word [ebp - 0xa4], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x19
ja 0x41f1d2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xbc]
add eax, 0x88ae7625
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x47
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0xbc], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x1a
jb 0x41f1a0
lea eax, [ebp - 0x68]
push eax
push esi
push 0
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0x58]
call fcn.004398c0
add esp, 0x14
shr eax, 0x1f
mov dword [ebp - 0x1c], esi
jmp dword [eax*4 + 0x43ff94]
mov dword [ebp - 0x1c], 0
jmp dword [0x43ffac]
push esi
call fcn.004092f0
add esp, 4
nop
nop
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x585b5a45
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x41f279
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
movzx edx, byte [ebp + eax - 0x14]
lea eax, [ecx + edx]
add eax, 0x81c0ccef
add ecx, 0x81c0ccef
and ecx, edx
mov edx, eax
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xbc]
add al, 0x55
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x14], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x41f230
mov ecx, dword [0x443f64]
test ecx, ecx
je 0x41f2d0
mov edx, dword [ebp - 0x14]
xor esi, esi
mov eax, dword [0x443f68]
nop
nop
nop
cmp dword [eax + esi*8], 0x625b6034
je 0x41f2bb
inc esi
cmp ecx, esi
jne 0x41f290
jmp 0x41f2d0
mov ecx, 4
xor eax, eax
cmp ecx, 4
setb al
mov esi, 0x20119
xor edx, edx
jmp dword [eax*4 + 0x43ffc4]
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne case.default.0x41f2d9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [ebp - 0x1c], 0
setne al
jmp dword [eax*4 + 0x43ffb4]
lea eax, [ebp - 0xbc]
push eax
call fcn.00438500
add esp, 4
cmp dword [ebp - 0xbc], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43ffbc]
xor edx, edx
xor eax, eax
cmp edx, 4
setb al
mov esi, 0x20119
xor ecx, ecx
jmp dword [eax*4 + 0x43ffc4]
mov ecx, 2
xor eax, eax
cmp ecx, 4
setb al
mov esi, 0x20119
xor edx, edx
jmp dword [eax*4 + 0x43ffc4]
push dword [ebp - 0x18]
push 1
push dword [0x443f6c]
push eax
call fcn.00436330
add esp, 0x10
xor eax, eax
cmp dword [ebp - 0x1c], 0
setne al
jmp dword [eax*4 + 0x43ffb4]
mov ecx, 2
xor eax, eax
cmp ecx, 4
setb al
mov esi, 0x20119
xor edx, edx
jmp dword [eax*4 + 0x43ffc4]
xor eax, eax
jmp 0x42046b
mov eax, dword [ebp - 0x28]
add eax, eax
push eax
call fcn.004092e0
add esp, 4
mov dword [ebx], 0xc3a1c1bc
mov dword [ebx + 4], 0xc7a8c5ab
mov dword [ebx + 8], 0xcba3c9ae
mov dword [ebx + 0xc], 0xcfb2cdab
mov dword [ebx + 0x10], 0xf39df193
mov dword [ebx + 0x14], 0xf790f59a
mov dword [ebx + 0x18], 0xfb9df991
mov dword [ebx + 0x1c], 0xff68fdd2
mov dword [ebx + 0x20], 0xe384e184
mov dword [ebx + 0x24], 0xe5e4
mov byte [ebx + 0x28], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x28
ja 0x41f422
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0xda7fced0
xor ecx, edx
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
add cl, 0xf0
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x29
jb 0x41f3f0
mov edx, dword [ebp - 0x1c]
movzx ecx, word [edx]
test cx, cx
je 0x41f441
add edx, 2
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f430
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41f471
lea edx, [ebx + 2]
nop
nop
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 0x41f460
mov word [eax], 0
jmp case.0x41f355.10
mov word [eax], 0
jmp dword [0x43ffe4]
cmp esi, 0xffffffed
jge 0x41f4a0
mov eax, 0xffffffff
jmp 0x41f4a5
mov eax, dword [ebp - 0x28]
add eax, eax
push eax
call fcn.004092e0
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebx], 0xc3a1c1bc
mov dword [ebx + 4], 0xc7a8c5ab
mov dword [ebx + 8], 0xcba3c9ae
mov dword [ebx + 0xc], 0xcfb2cdab
mov dword [ebx + 0x10], 0xf39df193
mov dword [ebx + 0x14], 0xf790f59a
mov dword [ebx + 0x18], 0xfb9df991
mov dword [ebx + 0x1c], 0xff68fdd2
mov dword [ebx + 0x20], 0xe384e184
mov dword [ebx + 0x24], 0xe5e4
mov byte [ebx + 0x28], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x28
ja 0x41f540
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
add eax, 0xda7fced0
xor eax, ecx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
add al, 0xf0
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x29
jb 0x41f510
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x18]
test cx, cx
je 0x41f571
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 2]
mov eax, dword [ebp - 0x18]
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 0x41f560
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41f480
lea edx, [ebx + 2]
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 0x41f590
jmp 0x41f480
jmp dword [0x43ffec]
push dword [ebp - 0x1c]
call fcn.004092f0
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp word [ecx], 0x5b
sete al
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x43fff4]
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp word [ecx], 0x5b
sete al
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x43fff4]
push 0x60
push 3
push 0x120089
push esi
push dword [ebp - 0x18]
call fcn.00438720
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44000c]
push 0
mov edi, dword [ebp - 0x24]
push edi
push dword [esi]
call fcn.00438a60
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440014]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.004092e0
add esp, 4
push 0
push esi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x60], eax
push eax
push dword [esi]
call fcn.00438b40
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44001c]
mov esi, dword [edi]
mov edi, dword [ebp - 0x60]
mov byte [edi + esi], 0
push 0x20
call fcn.004092e0
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 dword [ebp - 0x5c], eax
mov ecx, eax
push esi
push edi
call fcn.00421ac0
movzx eax, al
jmp dword [eax*4 + 0x440024]
mov edx, dword [ebp - 0x30]
mov dword [edx], 0x37242ed3
mov dword [edx + 4], 0x22342433
mov dword [edx + 8], 0x272bdfe7
mov dword [edx + 0xc], 0xdce1283a
mov dword [edx + 0x10], 0x3e333424
mov dword [edx + 0x14], 0x3435d4fb
mov dword [edx + 0x18], 0x2f342c37
mov dword [edx + 0x1c], 0x9d2f
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1f
ja 0x41f720
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xa99a5820
xor eax, ecx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
add al, 0x60
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x20
jb 0x41f6f0
mov ecx, dword [ebp - 0x5c]
push edx
call fcn.00421cb0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44002c]
mov esi, dword [ebp - 0x20]
jmp dword [0x44003c]
mov edi, dword [ebp - 0x5c]
mov ecx, edi
call fcn.00421e10
push edi
call fcn.004092f0
add esp, 4
jmp dword [0x440044]
jmp dword [0x440000]
mov dword [edi], 0xd1f4cf89
mov dword [edi + 4], 0xd5b7d38c
mov dword [edi + 8], 0xd9b8d7a5
mov dword [edi + 0xc], 0xddb1dbbe
mov dword [edi + 0x10], 0xe182dfb5
mov dword [edi + 0x14], 0xe593e385
mov dword [edi + 0x18], 0xe980e78a
mov dword [edi + 0x1c], 0xed83eb83
mov dword [edi + 0x20], 0xf198efc2
mov dword [edi + 0x24], 0xf594f394
mov word [edi + 0x28], 0xf7f4
mov dword [edi + 0x2a], 0
mov word [edi + 0x2e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f
ja 0x41f800
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edi + ecx]
add eax, 0x62f52fcd
xor eax, ecx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
dec al
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x30
jb 0x41f7d0
push 0
push edi
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp case.0x41f355.19
push 0
push edi
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x440008]
mov dword [edi], 0xd1f4cf89
mov dword [edi + 4], 0xd5b7d38c
mov dword [edi + 8], 0xd9b8d7a5
mov dword [edi + 0xc], 0xddb1dbbe
mov dword [edi + 0x10], 0xe182dfb5
mov dword [edi + 0x14], 0xe593e385
mov dword [edi + 0x18], 0xe980e78a
mov dword [edi + 0x1c], 0xed83eb83
mov dword [edi + 0x20], 0xf198efc2
mov dword [edi + 0x24], 0xf594f394
mov word [edi + 0x28], 0xf7f4
mov dword [edi + 0x2a], 0
mov word [edi + 0x2e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f
ja 0x41f810
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edi + ecx]
add eax, 0x62f52fcd
xor eax, ecx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
dec al
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x30
jb 0x41f890
jmp 0x41f810
jmp dword [0x440044]
push dword [ebp - 0x60]
call fcn.004092f0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x440058]
mov eax, dword [esi]
mov dword [ebp - 0x14], 0x585b5a45
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 3
ja 0x41f94b
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx esi, byte [ebp + edx - 0x14]
lea edx, [ecx + esi]
add edx, 0x81c0ccef
add ecx, 0x81c0ccef
and ecx, esi
mov esi, edx
not esi
and esi, ecx
add esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
add cl, 0x55
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x14], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
jb 0x41f900
mov ecx, dword [0x443f64]
test ecx, ecx
je case.0x41f355.22
mov edx, dword [ebp - 0x14]
xor esi, esi
mov edi, dword [0x443f68]
cmp dword [edi + esi*8], 0x625b6034
je 0x41f970
inc esi
cmp ecx, esi
jne 0x41f960
jmp case.0x41f355.22
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41fbe6
jmp dword [0x44005c]
push dword [ebp - 0x18]
call fcn.004092f0
add esp, 4
nop
nop
nop
jmp dword [0x440070]
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
mov edi, dword [eax + 4]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x440074]
sub edi, esi
sar edi, 3
imul eax, edi, 0x421
push eax
call fcn.004092e0
add esp, 4
mov dword [ebp - 0x18], eax
mov eax, dword [0x443f60]
mov edi, dword [ebp - 0x4c]
mov dword [edi], 0x41b2476b
mov dword [edi + 4], 0x4daf43d1
mov dword [edi + 8], 0x49da4faf
mov dword [edi + 0xc], 0x75da4b8b
mov dword [edi + 0x10], 0x71ba77e4
mov dword [edi + 0x14], 0x7dee7393
mov dword [edi + 0x18], 0x79517f9f
mov dword [edi + 0x1c], 0x65877b9c
mov dword [edi + 0x20], 0x618967f8
mov dword [edi + 0x24], 0x6df56383
mov dword [edi + 0x28], 0x69fa6f88
mov dword [edi + 0x2c], 0x15876bf9
mov dword [edi + 0x30], 0x118217f7
mov dword [edi + 0x34], 0x1d8c13c6
mov dword [edi + 0x38], 0x19f01ff0
mov word [edi + 0x3c], 0x1b18
mov byte [edi + 0x42], 0
mov dword [edi + 0x3e], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x42
ja 0x41fa92
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x65434d91
xor ecx, edx
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
add cl, 0x2b
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x43
jb 0x41fa60
mov esi, dword [ebp - 0x2c]
push esi
push 0
push 0
push 0x1e
push edi
push 0
call eax
mov esi, dword [esi]
test esi, esi
mov edi, dword [ebp - 0x54]
jns 0x41fac0
mov eax, 0xffffffff
jmp 0x41fac3
xor eax, eax
test esi, esi
jne 0x420424
jmp 0x42046b
lea eax, [esi + esi]
push eax
call fcn.004092e0
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [0x443f60]
mov dword [ebx], 0x23de2105
mov dword [ebx + 4], 0x27c525bb
mov dword [ebx + 8], 0xdb46d939
mov dword [ebx + 0xc], 0xdf4edd1d
mov dword [ebx + 0x10], 0xd316d140
mov dword [ebx + 0x14], 0xd742d535
mov dword [ebx + 0x18], 0xcbefc929
mov dword [ebx + 0x1c], 0xcf3dcd20
mov dword [ebx + 0x20], 0xc327c154
mov dword [ebx + 0x24], 0xc75bc525
mov dword [ebx + 0x28], 0xfb66f914
mov dword [ebx + 0x2c], 0xff1dfd63
mov dword [ebx + 0x30], 0xf36ef111
mov dword [ebx + 0x34], 0xf760f52a
mov dword [ebx + 0x38], 0xeb0ce90c
mov word [ebx + 0x3c], 0xedec
mov word [ebx + 0x42], 0
mov dword [ebx + 0x3e], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x43
ja 0x41fb92
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0x19d9d3f8
xor ecx, edx
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
add cl, 0x28
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x44
jb 0x41fb60
push dword [ebp - 0x2c]
push esi
push dword [ebp - 0x24]
push 0x1e
push ebx
push 0
call eax
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x50]
push esi
push dword [ebp - 0x24]
call fcn.00438720
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44007c]
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x24]
jmp dword [0x440154]
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x18]
jmp dword [0x440084]
push eax
push 1
push dword [0x443f6c]
push ecx
call fcn.00436330
add esp, 0x10
jmp dword [0x44005c]
add eax, 8
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x440034]
not eax
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov dword [ecx + edi + 4], eax
mov ecx, dword [ebp - 0x3c]
add ecx, 8
mov eax, dword [ebp - 0x34]
mov dword [eax + 4], ecx
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x440034]
mov dword [ebp - 0x40], edx
mov ecx, dword [edx]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov edi, ebx
sub edi, esi
cmp ebx, dword [eax + 8]
mov dword [ebp - 0x30], edi
je 0x41fc6f
mov dword [ebp - 0x3c], ebx
jmp 0x41fcec
mov ecx, edi
sar ecx, 3
lea eax, [ecx + 1]
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x41fc83
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.004092e0
add esp, 4
test esi, esi
je 0x41fccf
cmp esi, ebx
je 0x41fcc2
xor edx, edx
nop
nop
nop
mov ecx, dword [esi + edx]
mov dword [eax + edx], ecx
mov ecx, dword [esi + edx + 4]
mov dword [eax + edx + 4], ecx
mov dword [esi + edx], 0
lea ecx, [esi + edx]
add ecx, 8
add edx, 8
cmp ecx, ebx
jne 0x41fca0
push esi
mov esi, eax
call fcn.004092f0
mov eax, esi
add esp, 4
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov esi, eax
mov edx, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x3c], eax
mov dword [ecx + 4], eax
lea eax, [esi + edi*8]
mov edi, edx
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x1c]
mov dword [esi + edi], 0
mov dword [ebp - 0x24], esi
mov dword [esi + edi + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
cmp byte [ecx + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x41fd10
lea eax, [ebx + 1]
mov dword [ebp - 0x28], eax
push eax
call fcn.004092e0
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + edi], ecx
mov eax, ecx
mov ecx, dword [ebp - 0x28]
shr ecx, 2
mov edx, dword [ebp - 0x1c]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [ebp - 0x28]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, dword [ebp - 0x1c]
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [ebp - 0xc0], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x41fd86
mov ecx, dword [ebp - 0x28]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 0xc0]
mov byte [edx + ecx], al
test ebx, ebx
je 0x41fdf5
cmp ebx, 1
mov edi, dword [ebp - 0x30]
jne 0x41fd95
mov eax, 0xffffffff
jmp 0x41fdce
and esi, 0xfffffffe
mov eax, 0xffffffff
mov edx, dword [ebp - 0x1c]
mov ecx, eax
shr ecx, 8
xor al, byte [edx]
movzx eax, al
xor ecx, dword [eax*4 + 0x43b5c0]
mov eax, ecx
shr eax, 8
xor cl, byte [edx + 1]
add edx, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x43b5c0]
add esi, 0xfffffffe
jne 0x41fda0
mov dword [ebp - 0x1c], edx
test bl, 1
mov edx, dword [ebp - 0x40]
je 0x41fc20
mov ecx, eax
shr ecx, 8
mov esi, dword [ebp - 0x1c]
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x43b5c0]
mov eax, ecx
jmp 0x41fc20
xor eax, eax
mov ebx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x30]
jmp 0x41fc25
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.004092e0
add esp, 4
push 0
push esi
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
push eax
push dword [esi]
call fcn.00438b40
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x20], 0
mov ebx, dword [ebp - 0x18]
jmp dword [eax*4 + 0x4400ac]
mov esi, dword [edi]
mov edi, dword [ebp - 0x40]
mov byte [edi + esi], 0
push 0x20
call fcn.004092e0
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 dword [ebp - 0x3c], eax
mov ecx, eax
push esi
push edi
call fcn.00421ac0
movzx eax, al
mov dword [ebp - 0x20], 0
mov ebx, dword [ebp - 0x18]
jmp dword [eax*4 + 0x4400b4]
mov esi, dword [ebp - 0xc4]
mov dword [esi], 0xdbd4daff
mov dword [esi + 4], 0xe6d4ecc7
mov dword [esi + 8], 0xdbe7eb13
mov dword [esi + 0xc], 0xce9e0ce
mov dword [esi + 0x10], 0x221f1c2c
mov dword [esi + 0x14], 0x2121faef
mov dword [esi + 0x18], 0x23111422
mov dword [esi + 0x1c], 0x330d14f3
mov dword [esi + 0x20], 0xa90d
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x23
ja 0x41ff2d
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add edx, 0x87bcc072
add eax, 0x87bcc072
and eax, ecx
add eax, eax
sub edx, eax
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xbc]
add al, 0xc6
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x24
jb 0x41fef0
mov ecx, dword [ebp - 0x3c]
push esi
call fcn.00421cb0
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x20], 0
jmp dword [ecx*4 + 0x4400bc]
mov esi, dword [ebp - 0x50]
jmp dword [0x440144]
mov edi, dword [ebp - 0x3c]
mov ecx, edi
call fcn.00421e10
push edi
call fcn.004092f0
add esp, 4
jmp dword [0x44014c]
jmp dword [0x44014c]
push dword [ebp - 0x40]
call fcn.004092f0
add esp, 4
jmp case.0x41fbbd.6
add eax, 8
mov dword [ebp - 0x20], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ebx, dword [ebp - 0x18]
jmp dword [eax*4 + 0x4400c4]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4400c4]
mov edx, dword [esi]
cmp dword [esi + 0x18], 3
mov edi, 0
jne case.default.0x41ffd2
mov edi, dword [esi + 0x10]
test edx, edx
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4400cc]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x2c], ebx
mov edx, edi
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x420024
mov esi, edx
sub ecx, edx
inc ecx
shr ecx, 1
mov dword [ebp - 0x48], ecx
lea eax, [ecx + 1]
push eax
call fcn.004092e0
mov ecx, esi
add esp, 4
mov edi, eax
mov eax, dword [case.0x41ff44.10]
movsx edx, byte [esi]
xor ebx, ebx
test edx, edx
setne bl
mov dword [ebp - 0x30], edi
jmp dword [ebx*4 + 0x4400d4]
inc esi
mov byte [edi], bl
inc edi
movsx edx, byte [esi]
xor ebx, ebx
test edx, edx
setne bl
mov ecx, esi
jmp dword [ebx*4 + 0x4400d4]
jmp eax
lea ebx, [edx - 0x30]
cmp ebx, 0xa
jb 0x42005f
mov ebx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x42007c
add edx, 0xffffffa9
mov ebx, edx
movsx edx, byte [ecx + 1]
mov esi, ecx
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x4400ec]
mov dword [ebp - 0x1c], esi
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x420093
mov ecx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x4200bb
add edx, 0xffffffa9
mov ecx, edx
shl ebx, 4
or ebx, ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 2
mov byte [edi], bl
inc edi
movsx edx, byte [ecx]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x4400d4]
mov byte [edi], 0
push 0
push 0x10
push 0
push dword [ebp - 0x28]
call fcn.00421eb0
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x38], eax
cmp ecx, eax
setne bl
mov eax, dword [case.0x41ff44.19]
jmp dword [ebx*4 + 0x4400f4]
mov esi, dword [ecx]
xor edi, edi
jmp dword [edi*4 + 0x440114]
add ecx, 8
xor ebx, ebx
cmp ecx, dword [ebp - 0x38]
setne bl
jmp dword [ebx*4 + 0x4400f4]
jmp eax
mov edi, dword [ecx + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, dword [ebp - 0x28]
xor edi, dword [ebp - 0x1c]
xor edx, edx
or edi, ebx
sete dl
jmp dword [edx*4 + 0x44010c]
mov edi, 1
jmp dword [edi*4 + 0x440114]
xor eax, eax
test esi, esi
setne al
mov ebx, dword [ebp - 0x2c]
jmp dword [eax*4 + 0x44011c]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4201ce
mov edi, dword [ebp - 0xc8]
mov dword [edi], eax
mov dword [edi + 4], esi
mov ebx, dword [ebp - 0x44]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x6c625980
push dword [0x443f70]
call fcn.00437c90
add esp, 8
push ebx
push 1
push 0
push 0
push edi
push 0
push dword [ebp - 0x64]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x440124]
mov eax, dword [case.0x41ff44.24]
mov ebx, dword [ebp - 0x2c]
jmp case.0x41ff44.28
movzx eax, byte [esi]
test al, al
mov edi, dword [ebp - 0x2c]
je 0x4201fb
inc esi
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x4201f0
mov word [edi], 0x203a
add edi, 2
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
test edx, edx
je 0x42023b
mov eax, dword [eax + 4]
mov ecx, edx
and ecx, 3
je 0x42023f
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x420220
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
jmp 0x420241
mov esi, edi
jmp 0x420289
mov ecx, edx
cmp edx, 4
jb 0x420289
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x420250
mov byte [esi], 0xa
mov ebx, esi
inc ebx
push 0xe050b307
push dword [0x443f58]
call fcn.00437c90
add esp, 8
mov ecx, dword [ebp - 0x44]
push dword [ecx + 4]
call eax
mov al, 1
mov dword [ebp - 0x20], eax
mov eax, dword [case.0x41ff44.24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [ebp - 0x4c]
jmp dword [0x44013c]
push dword [ebp - 0x30]
call fcn.004092f0
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4400c4]
jmp dword [0x440184]
push dword [ebp - 0x18]
mov esi, eax
call fcn.004092f0
mov eax, esi
add esp, 4
jmp dword [0x44018c]
not eax
shr eax, 0x1f
mov dword [ebp - 0x20], 0
jmp dword [eax*4 + 0x440094]
mov eax, dword [esi]
mov dword [ebp - 0x14], 0x585b5a45
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 3
ja 0x42037b
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx esi, byte [ebp + edx - 0x14]
lea edx, [ecx + esi]
add edx, 0x81c0ccef
add ecx, 0x81c0ccef
and ecx, esi
mov esi, edx
not esi
and esi, ecx
add esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
add cl, 0x55
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x14], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
jb 0x420330
mov ecx, dword [0x443f64]
test ecx, ecx
mov dword [ebp - 0x2c], ebx
je 0x4203bc
mov edx, dword [ebp - 0x14]
xor esi, esi
mov edi, dword [0x443f68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4203b0
inc esi
cmp ecx, esi
jne 0x4203a0
jmp 0x4203bc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42047f
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x24]
jmp dword [0x440154]
jmp dword [0x44015c]
push ebx
call fcn.004092f0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.004092f0
add esp, 4
jmp dword [0x440168]
mov eax, dword [ebp - 0x20]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x44016c]
jmp dword [0x440184]
jmp dword [0x44018c]
nop
nop
nop
jmp dword [0x440198]
and al, 1
mov ecx, dword [ebp - 0x34]
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
test esi, esi
je 0x42046b
cmp esi, edi
je 0x42046b
mov dword [ebp - 0x20], eax
mov ebx, esi
jmp 0x420437
add ebx, 8
cmp ebx, edi
je 0x420448
mov eax, dword [ebx]
test eax, eax
je 0x420430
push eax
call fcn.004092f0
add esp, 4
jmp 0x420430
push esi
call fcn.004092f0
add esp, 4
mov eax, dword [ebp - 0x34]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x20]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x18]
jmp dword [0x440178]
push eax
push 1
push dword [0x443f6c]
push ecx
call fcn.00436330
add esp, 0x10
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x24]
jmp dword [0x440154]
mov byte [ebx], 0
mov dword [edi], 0x859a9b63
mov dword [edi + 4], 0x99898a87
mov dword [edi + 8], 0x84808283
mov dword [edi + 0xc], 0x9e826241
mov dword [edi + 0x10], 0x6d4b8893
mov dword [edi + 0x14], 0x8f959289
mov dword [edi + 0x18], 0xb9b67189
mov word [edi + 0x1c], 0x7b4
mov dword [edi + 0x1e], 0
mov word [edi + 0x22], 0
mov eax, ebx
sub eax, esi
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x23
ja 0x420532
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x520ef107
xor ecx, edx
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
add cl, 0xdd
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x24
jb 0x420500
mov ecx, dword [ebp + 8]
push eax
mov esi, dword [ebp - 0x18]
push esi
push edi
call fcn.00409e30
mov byte [ebx], 0
mov dword [edi], 0x859a9b63
mov dword [edi + 4], 0x99898a87
mov dword [edi + 8], 0x84808283
mov dword [edi + 0xc], 0x9e826241
mov dword [edi + 0x10], 0x6d4b8893
mov dword [edi + 0x14], 0x8f959289
mov dword [edi + 0x18], 0xb9b67189
mov word [edi + 0x1c], 0x7b4
mov dword [edi + 0x1e], 0
mov word [edi + 0x22], 0
mov eax, ebx
sub eax, esi
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x23
ja 0x4205d2
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x520ef107
xor ecx, edx
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
add cl, 0xdd
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x24
jb 0x4205a0
mov ecx, dword [ebp + 8]
push eax
mov esi, dword [ebp - 0x18]
push esi
push edi
call fcn.00409e30
jmp dword [0x44017c]
push 0
push edi
push dword [esi]
call fcn.00438a60
add esp, 0xc
push 0
push edi
push dword [esi]
call fcn.00438a60
add esp, 0xc
jmp dword [0x44008c]
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x50], esp
sub esp, 0x10
mov ebx, esp
sub esp, 0x1c
mov dword [ebp - 0x34], esp
sub esp, 0x20
mov dword [ebp - 0x40], esp
sub esp, 0x18
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x38], esp
mov ecx, dword [0x443f60]
mov dword [ebp - 0x2c], ecx
mov dword [eax], 0xd91ddb3f
mov dword [eax + 4], 0xdd6edf68
mov dword [eax + 8], 0xd175d318
mov dword [eax + 0xc], 0xd571d764
mov dword [eax + 0x10], 0xa9aaab2f
mov byte [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x14
ja 0x4206cc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
add edx, 0x8576b12f
xor edx, ecx
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
add cl, 0x15
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x4206a0
mov esi, dword [ebp - 0x1c]
push esi
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x2c]
mov eax, dword [esi]
test eax, eax
mov dword [ebp - 0x2c], eax
jns 0x4206ec
mov eax, 0xffffffff
jmp 0x4206ee
add eax, eax
push eax
call fcn.004092e0
add esp, 4
mov ecx, dword [0x443f60]
mov dword [ebp - 0x24], ecx
mov dword [edi], 0x97579945
mov dword [edi + 4], 0x93029504
mov dword [edi + 8], 0x8f2f912c
mov dword [edi + 0xc], 0x8b2b8d00
mov dword [edi + 0x10], 0x87868955
mov word [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
ja 0x420783
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx esi, byte [edi + ecx]
lea ecx, [edx + esi]
add ecx, 0xb31376e6
add edx, 0xb31376e6
and edx, esi
mov esi, ecx
not esi
and esi, edx
add esi, edx
not edx
and edx, ecx
sub edx, esi
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
add cl, 0x82
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
jb 0x420740
push dword [ebp - 0x1c]
push dword [ebp - 0x2c]
push eax
push 9
push edi
push 0
call dword [ebp - 0x24]
mov dword [ebx], 0x832b81c4
mov dword [ebx + 4], 0x87258537
mov dword [ebx + 8], 0x8b388927
mov dword [ebx + 0xc], 0x8f8e8d28
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xf
ja 0x4207ea
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
add eax, 0x5f228ea0
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0xe0
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
jb 0x4207c0
mov eax, ebx
mov edx, dword [ebp - 0x50]
mov edi, edx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x10
add ebx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0x40]
mov dword [ebx], 0x29452b60
mov dword [ebx + 4], 0x2d4b2fbd
mov dword [ebx + 8], 0x51c453bd
mov dword [ebx + 0xc], 0x55135734
mov dword [ebx + 0x10], 0x59c85b33
mov dword [ebx + 0x14], 0x5dc85f3f
mov dword [ebx + 0x18], 0x414243c3
mov eax, ebx
add eax, 0x1c
mov byte [ebx + 0x1c], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1c
mov esi, dword [ebp - 0x38]
ja 0x42088c
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0xa469c3b7
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x6d
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1d
jb 0x420860
mov edx, dword [ebp - 0x34]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x1c
xor ecx, ecx
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esi], 0x3f97397c
mov dword [esi + 4], 0x23853dab
mov dword [esi + 8], 0x27b021b3
mov dword [esi + 0xc], 0x2b9a2580
mov dword [esi + 0x10], 0x2f68299c
mov eax, esi
add eax, 0x14
mov word [esi + 0x14], 0x2d2c
mov dword [esi + 0x16], 0
mov word [esi + 0x1a], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
ja 0x42092c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x50728c8a
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x4e
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1c
jb 0x420900
mov edx, dword [ebp - 0x30]
mov edi, edx
mov ecx, 5
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x14
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x41f355.122
mov eax, edx
add eax, 0x14
mov ebx, dword [ebp - 0x2c]
mov edi, ebx
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, ebx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
jmp dword [0x4401a4]
push eax
mov dword [ebp - 0x38], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x54], esp
sub esp, 0x1c
mov dword [ebp - 0x34], esp
sub esp, 0x20
mov dword [ebp - 0x18], esp
sub esp, 0x18
mov dword [ebp - 0x2c], esp
sub esp, 0x1c
mov dword [ebp - 0x24], esp
sub esp, 0xc
mov dword [ebp - 0x50], esp
sub esp, 0x20
mov esi, esp
push eax
mov dword [ebp - 0x40], esp
push eax
mov dword [ebp - 0x68], esp
sub esp, 0x1c
mov dword [ebp - 0x98], esp
sub esp, 8
mov dword [ebp - 0x78], esp
sub esp, 8
mov dword [ebp - 0x60], esp
sub esp, 0x10
mov dword [ebp - 0x64], esp
sub esp, 0x34
mov dword [ebp - 0x58], esp
sub esp, 0x18
mov dword [ebp - 0x7c], esp
sub esp, 8
mov dword [ebp - 0x9c], esp
mov ecx, dword [0x443f60]
mov dword [eax], 0xd91ddb3f
mov dword [eax + 4], 0xdd6edf68
mov dword [eax + 8], 0xd175d318
mov dword [eax + 0xc], 0xd571d764
mov dword [eax + 0x10], 0xa9aaab2f
mov byte [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x14
ja 0x420a6c
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [eax + ebx]
add edx, 0x8576b12f
xor edx, ebx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0x15
mov ebx, dword [ebp - 0x10]
mov byte [eax + ebx], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x15
jb 0x420a40
mov ebx, dword [ebp - 0x38]
push ebx
push 0
push 0
push 9
push eax
push 0
call ecx
mov ebx, dword [ebx]
test ebx, ebx
jns 0x420a90
mov eax, 0xffffffff
jmp 0x420a93
lea eax, [ebx + ebx]
push eax
call fcn.004092e0
add esp, 4
mov dword [ebp - 0x30], eax
mov eax, dword [0x443f60]
mov dword [ebp - 0x28], eax
mov dword [edi], 0x97579945
mov dword [edi + 4], 0x93029504
mov dword [edi + 8], 0x8f2f912c
mov dword [edi + 0xc], 0x8b2b8d00
mov dword [edi + 0x10], 0x87868955
mov word [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
ja 0x420b22
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx eax, byte [edi + edx]
lea edx, [ecx + eax]
add edx, 0xb31376e6
add ecx, 0xb31376e6
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 - 0x14], ecx
mov eax, dword [ebp - 0x14]
add al, 0x82
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x16
jb 0x420ae0
push dword [ebp - 0x38]
push ebx
push dword [ebp - 0x30]
push 9
push edi
push 0
call dword [ebp - 0x28]
mov ebx, dword [ebp - 0x54]
mov dword [ebx], 0x832b81c4
mov dword [ebx + 4], 0x87258537
mov dword [ebx + 8], 0x8b388927
mov dword [ebx + 0xc], 0x8f8e8d28
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xf
ja 0x420b8a
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
add eax, 0x5f228ea0
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0xe0
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
jb 0x420b60
mov eax, ebx
mov edx, dword [ebp - 0x1c]
mov edi, edx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x10
add ebx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov edx, dword [ebp - 0x18]
mov dword [edx], 0x29452b60
mov dword [edx + 4], 0x2d4b2fbd
mov dword [edx + 8], 0x51c453bd
mov dword [edx + 0xc], 0x55135734
mov dword [edx + 0x10], 0x59c85b33
mov dword [edx + 0x14], 0x5dc85f3f
mov dword [edx + 0x18], 0x414243c3
mov byte [edx + 0x1c], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1c
ja 0x420c2a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xa469c3b7
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x6d
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1d
jb 0x420c00
mov eax, edx
add eax, 0x1c
mov ecx, 7
mov ebx, dword [ebp - 0x34]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add ebx, 0x1c
mov edi, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edx, dword [ebp - 0x24]
mov dword [edx], 0x3f97397c
mov dword [edx + 4], 0x23853dab
mov dword [edx + 8], 0x27b021b3
mov dword [edx + 0xc], 0x2b9a2580
mov dword [edx + 0x10], 0x2f68299c
mov word [edx + 0x14], 0x2d2c
mov dword [edx + 0x16], 0
mov word [edx + 0x1a], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1b
ja 0x420950
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x50728c8a
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x4e
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1c
jb 0x420ca0
jmp 0x420950
xor edi, edi
mov edx, dword [ebp - 0x64]
add edx, 2
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x7c]
mov eax, edx
add eax, 0x12
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x58]
mov eax, ecx
add eax, 0x2e
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x5c], 0
cmp edi, 0xc
setne al
lea edx, [edx + 2]
mov dword [ebp - 0x90], edx
add ecx, 2
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x30]
lea ebx, [ecx + 2]
lea edi, [esi + 2]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0xa0], esi
jmp dword [eax*4 + 0x4401ac]
mov esi, dword [ebp - 0x30]
jmp dword [0x4401b4]
jmp dword [0x4402ac]
push esi
call fcn.004092f0
add esp, 4
nop
push esi
call fcn.004092f0
add esp, 4
jmp dword [0x4402b4]
mov eax, dword [ebp - 0x5c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ebp - 0x2c]
add edx, 4
mov eax, dword [ebp - 0x30]
lea ebx, [eax + 2]
lea edi, [esi + 2]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x2c], edx
cmp edx, 0xc
setne al
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], ebx
jmp dword [eax*4 + 0x4401ac]
jmp dword [0x4401bc]
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x2c]
mov edi, dword [eax + ecx]
xor eax, eax
nop
nop
nop
cmp word [edi + eax], 0
lea eax, [eax + 2]
jne 0x420db0
lea ecx, [edi + eax]
add ecx, 0xfffffffe
mov eax, edi
not eax
and eax, ecx
xor ecx, edi
add eax, eax
sub eax, ecx
sar eax, 1
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx*2 + 0x1a]
test ecx, ecx
jns 0x420deb
mov eax, 0xffffffff
push eax
call fcn.004092e0
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x420e21
mov ecx, eax
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 0x420e10
mov word [ecx], 0x5c
mov dword [esi], 0x95e0b68
mov dword [esi + 4], 0x57b0779
mov dword [esi + 8], 0x176037b
mov dword [esi + 0xc], 0x1d731f20
mov dword [esi + 0x10], 0x19651b90
mov dword [esi + 0x14], 0x156d1794
mov word [esi + 0x18], 0x1314
mov dword [esi + 0x1a], 0
add ecx, 2
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x1d
ja 0x420e9c
nop
nop
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [esi + ebx]
add edx, 0x54b13203
xor edx, ebx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xf1
mov ebx, dword [ebp - 0x10]
mov byte [esi + ebx], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x1e
jb 0x420e70
movzx edx, word [edi]
test dx, dx
je 0x420ec1
add edi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x420eb0
mov word [ecx], 0
movzx edx, word [esi]
test dx, dx
je 0x420ef1
mov edi, dword [ebp - 0x1c]
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 [edi]
add edi, 2
test dx, dx
jne 0x420ee0
mov word [ecx], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x40]
push eax
call fcn.00438720
add esp, 0x14
jmp case.0x41f355.130
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x40]
push dword [ebp - 0x1c]
call fcn.00438720
add esp, 0x14
jmp dword [0x4401c8]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x2c]
mov edi, dword [eax + ecx]
xor eax, eax
nop
nop
nop
cmp word [edi + eax], 0
lea eax, [eax + 2]
jne 0x420f40
add eax, edi
add eax, 0xfffffffe
mov ebx, edi
not ebx
and ebx, eax
xor eax, edi
add ebx, ebx
sub ebx, eax
mov edx, ebx
sar edx, 1
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
lea ecx, [edx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [ebp - 0x34], edx
jns 0x420f80
mov eax, 0xffffffff
jmp 0x420f89
add eax, edx
lea eax, [eax*2 + 0x1a]
push eax
call fcn.004092e0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax]
mov dword [ebp - 0x1c], edx
mov eax, edx
test cx, cx
je 0x420fc1
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420fb0
mov word [eax], 0x5c
mov dword [esi], 0x95e0b68
mov dword [esi + 4], 0x57b0779
mov dword [esi + 8], 0x176037b
mov dword [esi + 0xc], 0x1d731f20
mov dword [esi + 0x10], 0x19651b90
mov dword [esi + 0x14], 0x156d1794
mov word [esi + 0x18], 0x1314
mov dword [esi + 0x1a], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1d
ja 0x42103c
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x54b13203
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0xf1
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1e
jb 0x421010
add eax, 2
movzx ecx, word [edi]
test cx, cx
je 0x421061
lea edx, [edi + 2]
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
movzx ecx, word [esi]
test cx, cx
je 0x420f10
mov edx, dword [ebp - 0x18]
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 0x421080
jmp 0x420f10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4401cc]
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
mov eax, dword [case.0x41f355.173]
jmp case.0x41f355.170
push 0
push dword [ebp - 0x68]
mov eax, dword [ebp - 0x40]
push dword [eax]
call fcn.00438a60
add esp, 0xc
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x4401d4]
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebp - 0x68]
mov ebx, dword [eax]
mov eax, ebx
and eax, 1
mov ecx, ebx
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.004092e0
add esp, 4
push 0
push ebx
mov dword [ebp - 0x74], eax
push eax
mov eax, dword [ebp - 0x40]
push dword [eax]
call fcn.00438b40
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ebx, dword [ebp - 0x98]
jmp dword [eax*4 + 0x4401dc]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov byte [ecx + eax], 0
push ecx
call fcn.00402560
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x4401e4]
mov dword [ebp - 0x88], eax
push eax
call fcn.00402ed0
add esp, 4
mov dword [ebx], 0xfcfbeef5
mov dword [ebx + 4], 0xe9eed0ee
mov dword [ebx + 8], 0xf4e0e82e
mov dword [ebx + 0xc], 0xe1e6d8e6
mov dword [ebx + 0x10], 0x140b0fef
mov word [ebx + 0x14], 0x2013
mov byte [ebx + 0x16], 0xae
mov word [ebx + 0x17], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x18
ja 0x4211cc
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0xe2a646f
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0xd5
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x19
jb 0x4211a0
push ebx
push eax
call fcn.00403020
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x4211e0
shr edx, 2
mov dword [ebp - 0x3c], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x421202
cmp ecx, 0x2e
jne 0x421203
dec edx
mov ecx, dword [ebp - 0x3c]
mov ebx, ecx
not ebx
and ebx, 2
and ecx, 0xfffffffd
sub ecx, ebx
movzx ecx, byte [eax + ecx]
cmp ecx, 0x3d
mov dword [ebp - 0x6c], eax
je 0x421223
cmp ecx, 0x2e
jne 0x421224
dec edx
mov dword [ebp - 0x84], edx
lea eax, [edx + 1]
push eax
call fcn.004092e0
add esp, 4
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x3c], 0
je 0x421340
xor edx, edx
mov eax, 2
jmp 0x42125e
mov edx, dword [ebp - 0x44]
nop
lea eax, [ebx + 4]
add ebx, 2
cmp ebx, ecx
jae 0x421340
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], edx
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebx + eax - 2]
push eax
call fcn.00415cd0
add esp, 4
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebx + eax - 1]
mov ebx, dword [ebp - 0x18]
push eax
call fcn.00415cd0
mov edx, dword [ebp - 0x28]
add esp, 4
movzx ecx, byte [ebp - 0x44]
shl cl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, cl
mov ecx, dword [ebp - 0x48]
mov byte [ecx + edx], ah
mov ecx, dword [ebp - 0x3c]
inc edx
cmp ebx, ecx
jae 0x421250
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax + ebx]
push eax
mov dword [ebp - 0x44], edx
call fcn.00415cd0
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
add esp, 4
cmp al, 0x40
je 0x421250
movzx ecx, byte [ebp - 0x1d]
shl cl, 4
mov byte [ebp - 0x1d], al
shr al, 2
and al, 0xf
or al, cl
mov edx, dword [ebp - 0x28]
lea ecx, [edx + 2]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x48]
mov byte [ecx + edx + 1], al
mov ecx, dword [ebp - 0x3c]
lea eax, [ebx + 1]
cmp eax, ecx
jae 0x42124c
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax + ebx + 1]
push eax
call fcn.00415cd0
mov ecx, dword [ebp - 0x3c]
add esp, 4
cmp al, 0x40
mov edx, dword [ebp - 0x44]
mov ah, byte [ebp - 0x1d]
je 0x421250
shl ah, 6
add al, ah
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x28]
mov byte [ecx + edx + 2], al
mov ecx, dword [ebp - 0x3c]
add edx, 3
jmp 0x421250
mov eax, dword [ebp - 0x84]
add eax, 0xfffffffb
mov ecx, dword [ebp - 0x78]
mov dword [ecx], eax
mov eax, dword [ebp - 0x48]
add eax, 5
mov dword [ecx + 4], eax
mov ebx, dword [ebp - 0x60]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x6c625980
push dword [0x443f70]
call fcn.00437c90
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x78]
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x18], 0
jmp dword [ecx*4 + 0x4401ec]
mov eax, dword [ebp - 0x4c]
add eax, 0x10
cmp dword [ebp - 0x34], 0xfffffff8
jge 0x4213b0
mov eax, 0xffffffff
push eax
call fcn.004092e0
add esp, 4
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x64]
mov dword [ebx], 0x71aa0f5d
mov dword [ebx + 4], 0x751c73e0
mov dword [ebx + 8], 0x79ee77e0
mov dword [ebx + 0xc], 0x7d7a7bec
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xf
ja 0x421432
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
lea edx, [eax - 0x7725fc43]
lea ebx, [eax + ecx]
add ebx, 0x88da03bd
add eax, 0xbd
or eax, edx
and eax, ecx
add eax, eax
sub ebx, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x14]
add al, 0x4f
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
jb 0x4213f0
movzx ecx, word [edi]
mov eax, dword [ebp - 0x18]
test cx, cx
je 0x421461
lea edx, [edi + 2]
mov eax, dword [ebp - 0x18]
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 0x421450
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x421493
mov edx, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x18]
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 0x421480
jmp 0x421496
mov ebx, dword [ebp - 0x18]
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
push dword [eax]
push dword [eax + 4]
push ebx
call fcn.00409c80
mov dword [ebp - 0x18], eax
jmp dword [0x4401f4]
push ebx
call fcn.004092f0
add esp, 4
push 0xe050b307
push dword [0x443f58]
call fcn.00437c90
add esp, 8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
mov ebx, dword [eax + 4]
jmp dword [0x440200]
push ebx
call dword [ebp - 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call dword [ebp - 0x28]
jmp dword [0x440208]
mov ebx, dword [ebp - 0x48]
jmp dword [0x44020c]
jmp dword [0x440214]
push ebx
call fcn.004092f0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.004092f0
add esp, 4
jmp dword [0x440220]
push dword [ebp - 0x88]
call fcn.00403160
add esp, 4
mov eax, dword [case.0x41f355.159]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x41f355.138]
mov edx, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x440244]
push dword [ebp - 0x74]
mov ebx, edx
call fcn.004092f0
mov edx, ebx
add esp, 4
mov eax, dword [case.0x41f355.136]
mov ebx, dword [ebp - 0x4c]
nop
jmp eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x70], 0x585b5a45
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x4215f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
movzx edx, byte [ebp + eax - 0x70]
lea eax, [ecx + edx]
add eax, 0x81c0ccef
add ecx, 0x81c0ccef
and ecx, edx
mov edx, eax
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
add al, 0x55
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x70], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x4215b0
mov dword [ebp - 0x4c], ebx
mov ecx, dword [0x443f64]
test ecx, ecx
je 0x421640
mov edx, dword [ebp - 0x70]
xor ebx, ebx
mov eax, dword [0x443f68]
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebx*8], 0x625b6034
je 0x421620
inc ebx
cmp ecx, ebx
jne 0x421610
jmp 0x421640
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edx
je 0x421640
push dword [ebp - 0x28]
push 1
push dword [0x443f6c]
push eax
call fcn.00436330
add esp, 0x10
nop
nop
nop
nop
mov eax, dword [case.0x41f355.173]
mov ecx, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
movzx ebx, cl
mov eax, dword [ebp - 0x1c]
jmp dword [0x44026c]
push eax
call fcn.004092f0
add esp, 4
jmp dword [ebx*4 + 0x440274]
jmp dword [ebx*4 + 0x440274]
jmp dword [0x44027c]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov edx, dword [ebp - 0x34]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42169d
mov eax, 0xffffffff
push eax
call fcn.004092e0
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx ecx, word [ecx]
test cx, cx
je 0x4216d1
mov edx, dword [ebp - 0x24]
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 0x4216c0
mov word [eax], 0x5c
mov edx, dword [ebp - 0x58]
mov dword [edx], 0xc1b2c7a0
mov dword [edx + 4], 0xcdafc351
mov dword [edx + 8], 0xc95acfaf
mov dword [edx + 0xc], 0xf5b7cbe8
mov dword [edx + 0x10], 0xf167f768
mov dword [edx + 0x14], 0xfd91f362
mov dword [edx + 0x18], 0xf991ff95
mov dword [edx + 0x1c], 0xe56efb9c
mov dword [edx + 0x20], 0xe178e78b
mov dword [edx + 0x24], 0xed76e38f
mov dword [edx + 0x28], 0xe98cef80
mov word [edx + 0x2c], 0xebe8
mov eax, dword [ebp - 0x54]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x32
ja case.0x41f355.178
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x85803cd1
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0xeb
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x33
jb 0x421750
jmp case.0x41f355.178
mov esi, dword [ebp - 0xa0]
jmp dword [0x440288]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov edx, dword [ebp - 0x34]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x4217b0
mov eax, 0xffffffff
jmp 0x4217b9
add eax, edx
lea eax, [eax*2 + 0x2e]
push eax
call fcn.004092e0
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x4217f1
mov ebx, dword [ebp - 0x24]
mov ecx, eax
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 0x4217e0
mov word [ecx], 0x5c
mov esi, dword [ebp - 0x58]
mov dword [esi], 0xc1b2c7a0
mov dword [esi + 4], 0xcdafc351
mov dword [esi + 8], 0xc95acfaf
mov dword [esi + 0xc], 0xf5b7cbe8
mov dword [esi + 0x10], 0xf167f768
mov dword [esi + 0x14], 0xfd91f362
mov dword [esi + 0x18], 0xf991ff95
mov dword [esi + 0x1c], 0xe56efb9c
mov dword [esi + 0x20], 0xe178e78b
mov dword [esi + 0x24], 0xed76e38f
mov dword [esi + 0x28], 0xe98cef80
mov word [esi + 0x2c], 0xebe8
mov edx, dword [ebp - 0x54]
mov byte [edx + 4], 0
mov dword [edx], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x32
ja 0x421780
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [esi + ebx]
add edx, 0x85803cd1
xor edx, ebx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xeb
mov ebx, dword [ebp - 0x10]
mov byte [esi + ebx], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x33
jb 0x421870
jmp 0x421780
add ecx, 2
movzx edx, word [edi]
test dx, dx
je 0x4218d1
lea ebx, [edi + 2]
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x4218c0
mov word [ecx], 0
mov edx, dword [ebp - 0x58]
movzx edx, word [edx]
test dx, dx
je 0x421901
mov ebx, dword [ebp - 0x8c]
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 0x4218f0
mov dword [ebp - 0x24], eax
mov word [ecx], 0
mov eax, dword [ebp - 0x4c]
add eax, 0x12
cmp dword [ebp - 0x34], 0xfffffff7
jge 0x42191a
mov eax, 0xffffffff
push eax
call fcn.004092e0
add esp, 4
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x7c]
mov dword [ebx], 0x13861147
mov dword [ebx + 4], 0x1f801d71
mov dword [ebx + 8], 0x1b8e1975
mov dword [ebx + 0xc], 0x7640568
mov word [ebx + 0x10], 0x100
mov eax, dword [ebp - 0x94]
mov word [eax], 0
mov byte [eax + 2], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x14
mov eax, dword [ebp - 0x24]
ja 0x42199c
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0x5904d984
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x6c
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x421970
movzx edx, word [edi]
mov ecx, dword [ebp - 0x1c]
test dx, dx
je 0x4219c1
add edi, 2
mov ecx, dword [ebp - 0x1c]
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x4219b0
mov word [ecx], 0
movzx edx, word [ebx]
test dx, dx
je 0x4219f1
mov edi, dword [ebp - 0x90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x4219e0
mov word [ecx], 0
mov edi, dword [ebp - 0x9c]
mov dword [edi], 0x106072e
mov word [edi + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
ja 0x421a4c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0xe0f6a581
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x7b
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
jb 0x421a20
push 0
push 0
push 0
push 0xc00000
push edi
push eax
mov edi, dword [ebp - 0x1c]
push edi
push dword [ebp + 8]
call fcn.00417e80
add esp, 0x20
mov ecx, dword [ebp - 0x5c]
and cl, 1
or cl, al
mov dword [ebp - 0x5c], ecx
jmp dword [0x44028c]
push edi
call fcn.004092f0
add esp, 4
jmp dword [0x440294]
jmp dword [0x440294]
push dword [ebp - 0x24]
call fcn.004092f0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4402a8]
jmp 0xed96ff3b
jmp 0xea92ff63
jmp 0xeac2ff6b
invalid
inc ecx
add al, bh
int1
inc ecx
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 al, bh
int1
inc ecx
add byte [0x100041f2], al
inc ecx
add al, ah
inc ecx
add byte [eax - 0xd], ah
inc ecx
add byte [0x1d0041f3], al
inc ecx
add al, al
out dx, eax
inc ecx
add byte [eax + 0x3f0041ef], dh
out dx, eax
inc ecx
add al, al
out dx, eax
inc ecx
add byte [eax - 0x11], dl
inc ecx
add byte [ebx - 0xd], bh
inc ecx
add byte [ebx - 0x66ffbe0c], cl
out dx, eax
inc ecx
add byte [esi - 0x74ffbe0b], ah
hlt
test dword [ecx], case.0x41f730.1
aaa
test dword [ecx], case.0x41f730.3
inc eax
test dword [ecx], case.0x41f355.26
retf
sti
inc ecx
add dl, bl
sti
inc ecx
add bl, dh
add eax, 0x5e60042
inc edx
add byte [ebx + eax], al
inc edx
add dh, ah
add eax, 0x3170042
inc edx
add byte [0x10041fe], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x6d0041fe], al
inc dword [ecx]
cmp eax, 0x4b0041fe
inc dword [ecx]
cdq
inc byte [ecx]
dec ebx
inc dword [ecx]
cmp edi, 0x41
add byte [ebx - 1], cl
inc ecx
add byte [ebx - 0x5fffbe01], dh
inc dword [ecx]
fcos
inc ecx
add dl, al
add byte [edx], al
inc edx
add byte [eax], dl
inc edx
add byte [eax], dl
inc edx
add byte [eax], dl
inc edx
add byte [edx], dl
inc edx
add byte [eax], dl
inc edx
add byte [ebx], ch
add byte [edx], al
add dword [eax], 0x42
add byte [eax + 1], dl
inc edx
add byte [eax], ah
add dword [edx], eax
and byte [ecx], al
inc edx
add byte [eax], ah
add dword [edx], eax
and byte [ecx], al
inc edx
add byte [edx], ah
add dword [edx], eax
inc esp
add dword [edx], eax
cld
add byte [edx], al
push eax
add dword [edx], eax
pop es
add dword [edx], eax
ret 0x4202