Function at 0x42c022
Capabilities:
Encode data using xor

Disassembly:
push dword [esp + 4]
call fcn.0042a790
add esp, 4
test al, al
je 0x42af10
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe0
mov dword [esp + 0xa0], 0x71a00f47
mov dword [esp + 0xa4], 0x75e673e5
mov dword [esp + 0xa8], 0x79da77d7
mov dword [esp + 0xac], 0x7dca7bd4
mov dword [esp + 0xb0], 0x61ea7fdf
mov dword [esp + 0xb4], 0x656263c8
mov word [esp + 0xb8], 0
mov byte [esp + 0xba], 0
lea eax, [esp + 0xa0]
mov ecx, 0x8e9d2ac2
nop
nop
nop
nop
nop
nop
movzx edi, byte [eax]
mov esi, ecx
or esi, edi
lea edx, [edi + edi]
not edx
add edx, edi
and edi, 0xb
and edx, 0xc42863f4
or edx, edi
lea edi, [esi + esi]
not edi
add edi, esi
xor edx, ecx
xor edx, 0xb
and edx, esi
or edx, edi
add dl, 0xcf
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x8e9d2aa7
jne 0x42af80
mov dword [esp + 0x24], 0x81d48720
mov dword [esp + 0x28], 0x8dcb83cf
mov dword [esp + 0x2c], 0x89d38fc7
mov dword [esp + 0x30], 0x95d88bd4
mov dword [esp + 0x34], 0x913297cf
mov dword [esp + 0x38], 0x9dd193c7
mov dword [esp + 0x3c], 0x99d69fd1
mov dword [esp + 0x40], 0xe5cc9bd3
mov dword [esp + 0x44], 0xe142e7ab
mov dword [esp + 0x48], 0xedb3e3bd
mov dword [esp + 0x4c], 0xe9b2efa2
mov dword [esp + 0x50], 0xf5a9ebb1
mov dword [esp + 0x54], 0xf1b9f7a6
mov dword [esp + 0x58], 0xfdacf354
mov dword [esp + 0x5c], 0xf94aff5f
mov dword [esp + 0x60], 0xc555fb46
mov dword [esp + 0x64], 0xc19bc760
mov dword [esp + 0x68], 0xcd6dc37c
mov dword [esp + 0x6c], 0xc979cf6f
mov word [esp + 0x70], 0xcbc8
mov byte [esp + 0x74], 0
mov word [esp + 0x72], 0
lea eax, [esp + 0x24]
mov ecx, 0xde
nop
nop
nop
nop
movzx esi, byte [eax]
lea edx, [ecx - 0x711ec700]
or edx, esi
and esi, ecx
not edx
add edx, esi
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0x5a
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x8d
jne case.default.0x42b0b8
lea ebx, [esp + 0xa0]
lea edi, [esp + 0x24]
push ebx
push edi
call fcn.0043a600
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44bc80]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42b0d0
sub eax, esi
cmp eax, 0xffffffd9
jge 0x42b0f0
mov eax, 0xffffffff
jmp 0x42b0f3
xor eax, eax
jmp 0x42bb55
add eax, 0x26
push eax
call fcn.0040cda0
add esp, 4
mov ebp, eax
mov dword [esp + 0x24], 0x23c121cc
mov dword [esp + 0x28], 0x27b825bb
mov dword [esp + 0x2c], 0xdb43d93e
mov dword [esp + 0x30], 0xdf32dd3b
mov dword [esp + 0x34], 0xd34dd133
mov dword [esp + 0x38], 0xd730d54a
mov dword [esp + 0x3c], 0xcb2dc951
mov dword [esp + 0x40], 0xcf58cd12
mov dword [esp + 0x44], 0xc324c124
mov word [esp + 0x48], 0xc5c4
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov eax, 0xee9dd07
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edi]
xor ecx, eax
mov edx, 0x4a915126
sub edx, ecx
mov ecx, edx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [edi], cl
inc edi
dec eax
cmp eax, 0xee9dcdb
jne 0x42b170
movzx ecx, word [esi]
mov eax, ebp
test cx, cx
je 0x42b1c1
mov edx, esi
add edx, 2
mov eax, ebp
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 0x42b1b0
mov word [eax], 0
movzx ecx, word [esp + 0x24]
test cx, cx
je 0x42b1f1
lea edx, [esp + 0x26]
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 0x42b1e0
mov word [eax], 0
jmp dword [0x44bc88]
push esi
call fcn.0040cdb0
add esp, 4
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x44bc90]
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x44bc90]
mov dword [esp + 0x24], 0x61ac67d9
mov dword [esp + 0x28], 0x5dff63c4
mov dword [esp + 0x2c], 0x59c85fcd
mov dword [esp + 0x30], 0x55c15bc6
mov dword [esp + 0x34], 0x51f257cd
mov dword [esp + 0x38], 0x4dc353cd
mov dword [esp + 0x3c], 0x49d04fda
mov dword [esp + 0x40], 0x45d34bd3
mov dword [esp + 0x44], 0x41c84792
mov dword [esp + 0x48], 0x3ddc43dc
mov word [esp + 0x4c], 0x3f3c
mov dword [esp + 0x4e], 0
mov word [esp + 0x52], 0
mov eax, 0xa6ead899
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x5915278b]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 3
mov byte [esp + eax + 0x5915278b], cl
inc eax
cmp eax, 0xa6ead8c9
jne 0x42b2a0
lea eax, [esp + 0x24]
push 0
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push ebx
mov dword [esp + 0x30], ebp
push ebp
call fcn.00443500
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bc98]
xor ebp, ebp
xor ebx, ebx
jmp dword [0x44bcf8]
push dword [esp + 0x20]
call fcn.0040cdb0
add esp, 4
xor eax, eax
cmp ebp, ebx
sete al
jmp dword [eax*4 + 0x44bd00]
xor eax, eax
test ebp, ebp
jne 0x42bf10
jmp 0x42bb55
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0xa8]
call fcn.00443840
add esp, 0xc
not eax
shr eax, 0x1f
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x44bca0]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.0040cda0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xac]
call fcn.00443910
add esp, 0x10
not eax
shr eax, 0x1f
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x44bca8]
mov esi, dword [esp + 0x90]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cda0
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 [esp + 0x1c], eax
mov ecx, eax
push esi
push edi
call fcn.0042dc10
movzx eax, al
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x44bcb0]
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], 0x37242e53
mov dword [esp + 0x28], 0x22342433
mov dword [esp + 0x2c], 0x272b5f67
mov dword [esp + 0x30], 0x5c61283a
mov dword [esp + 0x34], 0x3e333424
mov dword [esp + 0x38], 0x3435547b
mov dword [esp + 0x3c], 0x2f342c37
mov word [esp + 0x40], 0x9d2f
mov dword [esp + 0x42], 0
mov word [esp + 0x46], 0
mov eax, 0x3aa364e0
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x3aa364bc]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa0
mov byte [esp + eax - 0x3aa364bc], cl
inc eax
cmp eax, 0x3aa36504
jne 0x42b440
lea eax, [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.0042de20
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
xor ebp, ebp
jmp dword [ecx*4 + 0x44bcb8]
mov eax, dword [case.0x42b0b8.13]
mov edi, dword [esp + 0x18]
jmp eax
jmp dword [0x44bcd8]
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0042df90
push ebx
call fcn.0040cdb0
add esp, 4
jmp dword [0x44bce0]
jmp dword [0x44bce0]
jmp dword [0x44bce8]
add eax, 8
xor esi, esi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor edi, edi
xor edx, edx
jmp dword [eax*4 + 0x44bcc0]
mov dword [ebp + edi + 4], ecx
mov esi, dword [esp]
add esi, 8
mov ecx, dword [esp + 0x10]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebp
mov edx, dword [esp + 0x78]
jmp dword [eax*4 + 0x44bcc0]
mov eax, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp + 0x10], ecx
mov ecx, esi
sub ecx, edi
cmp esi, edx
mov dword [esp + 8], ecx
je 0x42b524
mov dword [esp], esi
mov ebp, edi
jmp 0x42b5a0
mov eax, ecx
sar eax, 3
inc eax
mov esi, edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x42b53f
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040cda0
add esp, 4
mov ebp, eax
test edi, edi
je 0x42b58c
cmp edi, esi
je 0x42b583
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [ebp + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebp + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, esi
jne 0x42b560
push edi
call fcn.0040cdb0
add esp, 4
lea edx, [ebx*8]
add edx, ebp
mov eax, ebp
mov ecx, dword [esp + 8]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 0x78], edx
mov dword [ebp + ecx], 0
mov edi, ebp
mov dword [ebp + ecx + 4], 0
xor ebx, ebx
mov esi, dword [esp + 4]
nop
nop
nop
nop
cmp byte [esi + ebx], 0
lea ebx, [ebx + 1]
jne 0x42b5c0
push ebx
call fcn.0040cda0
add esp, 4
mov ebp, edi
mov ecx, dword [esp + 8]
mov dword [edi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
not edx
or edx, 0xfffffffc
add eax, edx
lea edi, [ebx + eax]
inc edi
add edx, esi
lea esi, [ebx + edx]
inc esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov edi, dword [esp + 8]
mov dword [esp + 0x14], ebx
mov ecx, ebx
inc cl
test cl, 1
jne 0x42b63d
mov esi, dword [esp + 0x14]
add edx, esi
mov ecx, esi
and ecx, 2
add eax, esi
movzx edx, byte [ecx + edx + 1]
mov byte [ecx + eax + 1], dl
xor ecx, ecx
cmp esi, 1
je 0x42b4e0
mov dword [esp + 0xc], ebp
mov ecx, 0xffffffff
mov ebx, 1
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx esi, byte [eax + ebx - 1]
xor esi, ecx
mov ecx, esi
shr ecx, 1
mov edx, esi
and edx, 1
neg edx
and edx, 0xedb88320
mov edi, edx
and edi, ecx
add edx, ecx
add edi, edi
mov ebp, edx
sub ebp, edi
shr ebp, 1
mov ecx, esi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
mov edi, ebp
and edi, ecx
add ecx, ebp
add edi, edi
mov eax, ecx
sub eax, edi
shr eax, 1
mov edi, esi
shl edi, 0x1d
sar edi, 0x1f
and edi, 0xedb88320
mov ebp, eax
and ebp, edi
add edi, eax
add ebp, ebp
sub edi, ebp
shr edi, 1
mov ebp, esi
shl ebp, 0x1c
sar ebp, 0x1f
and ebp, 0xedb88320
mov eax, edi
and eax, ebp
add ebp, edi
add eax, eax
sub ebp, eax
shr ebp, 1
mov edi, esi
shl edi, 0x1b
sar edi, 0x1f
and edi, 0xedb88320
mov eax, ebp
and eax, edi
add edi, ebp
add eax, eax
sub edi, eax
shr edi, 1
shl esi, 0x1a
sar esi, 0x1f
and esi, 0xedb88320
mov eax, edi
and eax, esi
add esi, edi
add eax, eax
sub esi, eax
shr esi, 1
shl edx, 0x1a
sar edx, 0x1f
and edx, 0xedb88320
mov eax, esi
and eax, edx
add edx, esi
add eax, eax
sub edx, eax
shr edx, 1
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
mov eax, edx
and eax, ecx
add ecx, edx
add eax, eax
sub ecx, eax
inc ebx
cmp dword [esp + 0x14], ebx
jne 0x42b650
not ecx
mov ebp, dword [esp + 0xc]
mov edi, dword [esp + 8]
jmp 0x42b4e0
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44bd40]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
cmp dword [edi + 0x18], 3
mov esi, 0
jne case.default.0x42b77d
mov esi, dword [edi + 0x10]
cmp dword [esp + 0x14], 0
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44bd48]
mov dword [esp + 0x20], edi
mov dword [esp], ebx
mov dword [esp + 0xc], ebp
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42b7d0
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [esp + 0x98], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cda0
add esp, 4
mov ebx, eax
movsx eax, byte [esi]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x1c], ebx
jmp dword [ecx*4 + 0x44bd50]
mov byte [ebx], cl
inc ebx
movsx eax, byte [edi]
xor ecx, ecx
test eax, eax
setne cl
mov esi, edi
jmp dword [ecx*4 + 0x44bd50]
lea edi, [esi + 1]
mov ecx, eax
or ecx, 0x20
lea ebp, [ecx - 0x61]
cmp ebp, 5
ja case.default.0x42b813
add ecx, 0xffffffa9
movsx eax, byte [edi]
xor edx, edx
test eax, eax
setne dl
jmp dword [edx*4 + 0x44bd58]
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jb 0x42b830
mov ecx, 0xffffffff
jmp 0x42b83e
mov ecx, eax
not ecx
and ecx, 0x30
and eax, 0xffffffcf
sub eax, ecx
mov ecx, eax
movsx eax, byte [edi]
xor edx, edx
test eax, eax
setne dl
jmp dword [edx*4 + 0x44bd58]
shl ecx, 4
add esi, 2
mov edx, eax
or edx, 0x20
lea ebp, [edx - 0x61]
cmp ebp, 5
ja case.default.0x42b874
add edx, 0xffffffa9
or edx, ecx
mov byte [ebx], dl
inc ebx
movsx eax, byte [esi]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44bd50]
lea edx, [eax - 0x30]
cmp edx, 0xa
jb 0x42b88f
mov eax, 0xffffffff
jmp 0x42b89b
mov edx, eax
not edx
and edx, 0x30
and eax, 0xffffffcf
sub eax, edx
or eax, ecx
mov byte [ebx], al
inc ebx
movsx eax, byte [esi]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44bd50]
mov esi, dword [esp + 0x14]
jmp dword [0x44bd64]
mov byte [ebx], 0
push 0
push 0x10
push 0
push esi
call fcn.0042e030
add esp, 0x10
nop
nop
nop
mov byte [ebx], 0
push 0
push 0x10
push 0
push esi
call fcn.0042e030
add esp, 0x10
jmp dword [0x44bd6c]
xor esi, esi
xor ebx, ebx
mov edi, dword [esp + 0xc]
cmp edi, dword [esp]
setne bl
jmp dword [ebx*4 + 0x44bd70]
mov esi, dword [edi]
xor ebx, ebx
jmp dword [ebx*4 + 0x44bd80]
add edi, 8
xor ebx, ebx
cmp edi, dword [esp]
setne bl
jmp dword [ebx*4 + 0x44bd70]
mov ebx, dword [edi + 4]
mov ebp, ebx
shr ebp, 0x1c
shl ebx, 4
or ebx, 1
xor ebp, edx
xor ebx, eax
xor ecx, ecx
or ebx, ebp
sete cl
jmp dword [ecx*4 + 0x44bd78]
mov ebx, 1
jmp dword [ebx*4 + 0x44bd80]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44bd88]
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
jmp dword [0x44bd98]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, 0xffffffff
mov edi, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42b9fe
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
push 0x31f26afb
push dword [0x44fbc0]
call fcn.004429d0
add esp, 8
lea ecx, [esp + 0x88]
lea edx, [esp + 0x90]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x3c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp]
jmp dword [ecx*4 + 0x44bd90]
mov edx, dword [esp + 0x18]
jmp dword [0x44bd98]
movzx eax, byte [esi]
test al, al
je 0x42ba2d
inc esi
mov ecx, dword [esp + 0x10]
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42ba20
jmp 0x42ba31
mov ecx, dword [esp + 0x10]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x88]
test esi, esi
je 0x42ba7f
mov ecx, dword [esp + 0x8c]
mov edx, esi
and edx, 3
je 0x42ba83
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42ba60
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
mov edi, dword [esp + 0x20]
jmp 0x42ba85
mov esi, eax
jmp 0x42bac9
mov edx, esi
cmp esi, 4
mov esi, ebx
jb 0x42bac9
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x42ba90
mov byte [esi], 0xa
inc esi
mov dword [esp + 0x10], esi
push 0xd80d2c4a
push dword [0x44fba8]
call fcn.004429d0
add esp, 8
push dword [esp + 0x8c]
call eax
mov al, 1
mov dword [esp + 8], eax
mov ebx, dword [esp]
mov edx, dword [esp + 0x18]
jmp dword [0x44bd98]
push dword [esp + 0x1c]
call fcn.0040cdb0
mov edx, dword [esp + 0x1c]
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44bd40]
jmp dword [0x44bde0]
push dword [esp + 0x78]
mov edi, edx
call fcn.0040cdb0
add esp, 4
mov edx, edi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edi
jmp dword [ecx*4 + 0x44bdd8]
xor edx, edx
mov esi, dword [esp + 4]
jmp dword [0x44bdd0]
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0x7c]
lea eax, [esi + 1]
push eax
call fcn.0040cda0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x8c]
call fcn.00443910
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov esi, dword [esp + 4]
jmp dword [eax*4 + 0x44bd18]
mov ebp, edi
jmp dword [0x44bd20]
mov esi, dword [esp + 0x7c]
mov byte [ebp + esi], 0
push 0x20
call fcn.0040cda0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push ebp
call fcn.0042dc10
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x7c]
mov byte [ebp + esi], 0
push 0x20
call fcn.0040cda0
add esp, 4
mov edi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push ebp
call fcn.0042dc10
jmp dword [0x44bd2c]
mov dword [esp + 0x84], ebp
movzx eax, al
mov dword [esp + 8], 0
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], ecx
mov edx, edi
mov ebp, dword [esp + 0xc]
jmp dword [eax*4 + 0x44bd30]
mov dword [esp + 0x24], 0xd7e4eef3
mov dword [esp + 0x28], 0xe2d4e4d3
mov dword [esp + 0x2c], 0xe7ebff27
mov dword [esp + 0x30], 0xfc21e8da
mov dword [esp + 0x34], 0x1e131424
mov dword [esp + 0x38], 0x1919f6db
mov dword [esp + 0x3c], 0x2f191c16
mov dword [esp + 0x40], 0x171d1cff
mov word [esp + 0x44], 0xa105
mov dword [esp + 0x46], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0xf0
xor al, byte [esp + ecx + 0x24]
add al, 0x50
mov byte [esp + ecx + 0x24], al
inc ecx
cmp ecx, 0x26
jne case.default.0x42bcff
mov ecx, edx
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x1c], edx
call fcn.0042de20
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov edx, dword [esp + 4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
jmp dword [ecx*4 + 0x44bd38]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x84]
jmp dword [0x44bdb0]
mov ecx, edx
mov edi, edx
call fcn.0042df90
push edi
mov edi, dword [esp + 0x88]
call fcn.0040cdb0
add esp, 4
jmp dword [0x44bdb8]
jmp dword [0x44bdb8]
jmp dword [0x44bdc0]
push edi
call fcn.0040cdb0
add esp, 4
nop
nop
nop
nop
nop
push edi
call fcn.0040cdb0
add esp, 4
jmp dword [0x44bdcc]
add eax, 8
mov dword [esp + 8], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], ecx
jmp dword [eax*4 + 0x44bd40]
mov dword [esp + 0xc], ebp
mov dword [esp], ebx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 0xd4d5cacb
mov ebp, 0x219f7c4e
mov esi, 0xde6083b1
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ebp - 0x219f7c2a]
mov ebx, edx
xor ebx, ebp
or ebx, esi
mov eax, ebx
shr al, 1
and al, 1
mov ecx, ebx
not cl
mov ah, cl
and ah, 0x5d
mul ah
add al, al
sub dl, al
test bl, 2
sete al
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, ebp
add al, 0x7a
mov byte [esp + ebp - 0x219f7c2a], al
inc ebp
dec esi
cmp ebp, 0x219f7c52
jne 0x42bdb0
mov eax, dword [0x44fbb4]
test eax, eax
mov ebx, dword [esp]
mov ebp, dword [esp + 0xc]
je 0x42be3c
mov ecx, dword [esp + 0x24]
xor edx, edx
mov esi, dword [0x44fbb8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x7e776f1
je 0x42be30
inc edx
cmp eax, edx
jne 0x42be20
jmp 0x42be3c
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x42bf48
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x10]
jmp dword [0x44bdd0]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x44bdd8]
mov byte [esi], 0
mov dword [esp + 0x24], 0xfff2f1a1
mov dword [esp + 0x28], 0xf3c7c6fd
mov dword [esp + 0x2c], 0xc8c4c6c1
mov dword [esp + 0x30], 0xfacaee83
mov dword [esp + 0x34], 0xe78dccf1
mov dword [esp + 0x38], 0xc9f3cecb
mov dword [esp + 0x3c], 0xc3de97db
mov word [esp + 0x40], 0x4dd8
mov dword [esp + 0x42], 0
mov byte [esp + 0x46], 0
mov eax, 0x16a68618
nop
nop
movzx ecx, byte [esp + eax - 0x16a685f4]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x88
mov byte [esp + eax - 0x16a685f4], cl
inc eax
cmp eax, 0x16a6863b
jne 0x42beb0
mov eax, dword [esp + 4]
sub esi, eax
mov ecx, dword [esp + 0xf4]
push esi
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0040d940
jmp dword [0x44bde0]
push dword [esp + 4]
mov esi, eax
call fcn.0040cdb0
mov eax, esi
add esp, 4
and al, 1
test ebp, ebp
je 0x42bb55
cmp ebp, ebx
je 0x42bb55
mov edi, eax
mov esi, ebp
jmp 0x42bf27
add esi, 8
cmp esi, ebx
je 0x42bf38
mov eax, dword [esi]
test eax, eax
je 0x42bf20
push eax
call fcn.0040cdb0
add esp, 4
jmp 0x42bf20
push ebp
call fcn.0040cdb0
add esp, 4
mov eax, edi
jmp 0x42bb55
push dword [esp + 0x14]
push 1
push dword [0x44fbbc]
push eax
call fcn.004403c0
add esp, 0x10
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x10]
jmp dword [0x44bdd0]
mov dword [esp + 0xc], ebp
mov dword [esp], esi
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 0x24], 0xd4d5cacb
mov ebp, 0x219f7c4e
mov esi, 0xde6083b1
nop
movzx edx, byte [esp + ebp - 0x219f7c2a]
mov ebx, edx
xor ebx, ebp
or ebx, esi
mov eax, ebx
shr al, 1
and al, 1
mov ecx, ebx
not cl
mov ah, cl
and ah, 0x5d
mul ah
add al, al
sub dl, al
test bl, 2
sete al
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, ebp
add al, 0x7a
mov byte [esp + ebp - 0x219f7c2a], al
inc ebp
dec esi
cmp ebp, 0x219f7c52
jne 0x42bf90
mov eax, dword [0x44fbb4]
test eax, eax
mov ebx, dword [esp]
mov ebp, dword [esp + 0xc]
je 0x42c01c
mov ecx, dword [esp + 0x24]
xor edx, edx
mov esi, dword [0x44fbb8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x7e776f1
je 0x42c010
inc edx
cmp eax, edx
jne 0x42c000
jmp 0x42c01c
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x42c217
jmp dword [0x44bcf8]
xor eax, eax
cmp ebp, ebx
sete al
jmp dword [eax*4 + 0x44bd00]
mov dword [esp], ebx
mov eax, ebx
mov dword [esp + 0xc], ebp
sub eax, ebp
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040cda0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x24], 0x91229f7b
mov dword [esp + 0x28], 0x95379301
mov dword [esp + 0x2c], 0x890a9737
mov dword [esp + 0x30], 0x8d1a8b4b
mov dword [esp + 0x34], 0x814a8f1c
mov dword [esp + 0x38], 0x85168323
mov dword [esp + 0x3c], 0x79618727
mov dword [esp + 0x40], 0x7dcf7bd4
mov dword [esp + 0x44], 0x71d97fe8
mov dword [esp + 0x48], 0x75ed73d3
mov dword [esp + 0x4c], 0x69ea77d8
mov dword [esp + 0x50], 0x6dcf6bf9
mov dword [esp + 0x54], 0x61f26fcf
mov dword [esp + 0x58], 0x65f463be
mov dword [esp + 0x5c], 0x59c067c0
lea eax, [esp + 0x60]
mov dword [esp + 0x14], eax
mov dword [esp + 0x60], 0x5b58
mov byte [esp + 0x64], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x24]
mov edi, edx
xor edi, 0x64816859
mov esi, ecx
and esi, 0x4c
sub esi, edi
lea eax, [esi - 0x24d158c2]
mov ebp, 0xd158c1
sub ebp, esi
and ebp, 0x1400db2
mov edi, eax
and edi, 0x342c724d
or edi, ebp
xor edi, ebx
xor edi, 0x4d
and edi, eax
add edi, edi
neg edi
lea eax, [esi + edi]
add eax, 0xdb2ea73e
add al, bl
add al, 0x87
mov byte [esp + edx + 0x24], al
inc edx
add ecx, 2
cmp edx, 0x41
jne 0x42c0f0
lea eax, [esp + 0x24]
lea ebx, [esp + 0xa0]
mov edi, ebx
mov ecx, 0xf
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xdc]
mov ecx, 1
mov eax, dword [esp + 0x14]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x9c]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44fbb0]
mov edi, dword [esp + 0x9c]
test edi, edi
jns 0x42c199
mov eax, 0xffffffff
jmp 0x42c19c
lea eax, [edi + edi]
push eax
call fcn.0040cda0
add esp, 4
mov ebp, eax
push esi
push edi
push eax
push 0x1e
push ebx
push 0
call dword [0x44fbb0]
lea eax, [esp + 0x80]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x88], ebp
push ebp
call fcn.00443500
add esp, 0x14
not eax
shr eax, 0x1f
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp]
jmp dword [eax*4 + 0x44bd08]
lea eax, [esp + 0x7c]
push 0
push eax
push dword [esp + 0x88]
call fcn.00443840
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov esi, dword [esp + 4]
jmp dword [eax*4 + 0x44bd10]
push dword [esp + 4]
push 1
push dword [0x44fbbc]
push eax
call fcn.004403c0
add esp, 0x10
jmp dword [0x44bcf8]
push edi
call fcn.0040cdb0
add esp, 4
push edi
call fcn.0040cdb0
add esp, 4
jmp dword [0x44bcf0]
jmp dword [0x44be00]
push ebp
call fcn.0040cdb0
add esp, 4
mov eax, dword [case.0x42b0b8.98]
jmp eax
mov eax, dword [esp + 0x60]
and al, 1
add esp, 0xf4
pop esi
pop edi
pop ebx
pop ebp
ret
add esi, 4
xor eax, eax
cmp esi, 0xc
setne al
mov ebp, dword [esp + 0x48]
jmp dword [eax*4 + 0x44bde8]
mov dword [esp + 0x54], esi
jmp dword [0x44be08]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44be18]
mov ebp, ebx
xor ebx, ebx
jmp dword [0x44be88]
push dword [esp + 0x40]
call fcn.0040cdb0
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x44be90]
lea eax, [esp + 0x58]
push 0
push eax
push dword [esp + 0x4c]
call fcn.00443840
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp], 0
mov dword [esp + 0x50], ebx
jmp dword [eax*4 + 0x44be20]
jmp dword [0x44be2c]
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x44be50]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], eax
push eax
call fcn.004048d0
xor edx, edx
add esp, 4
mov dword [esp], eax
mov dword [esp + 4], 0x5c5b6e95
mov dword [esp + 8], 0x696e706e
mov dword [esp + 0xc], 0x5460682e
mov dword [esp + 0x10], 0x61667866
mov dword [esp + 0x14], 0x744b4f6f
mov word [esp + 0x18], 0x6073
mov byte [esp + 0x1a], 0xee
lea ecx, [esp + 4]
mov byte [ecx + 0x19], 0
mov word [ecx + 0x17], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 4]
mov eax, edx
and edx, 0x1d
mov esi, eax
and esi, 2
mov edi, eax
or edi, 2
imul edi, esi
xor esi, 2
imul esi, edx
mov edx, eax
xor edx, 0xdba92b7f
add edx, edi
add edx, esi
mov edi, edx
and edi, ecx
mov ebx, edi
and ebx, 0xfffffffd
mov ebp, edi
and ebp, 2
mov esi, edi
or esi, 0xfd
inc esi
imul esi, ebx
or edi, 2
imul edi, ebp
sub esi, edi
add edx, ecx
add edx, esi
add dl, 0x85
mov byte [esp + eax + 4], dl
mov edx, eax
inc edx
cmp edx, 0x1a
jne 0x42c620
lea ecx, [esp + 4]
push ecx
push dword [esp + 4]
call fcn.00404cc0
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42c6a0
shr ecx, 2
mov esi, edx
mov dword [esp], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x42c6c4
cmp edx, 0x2e
jne 0x42c6c5
dec ecx
mov edx, dword [esp]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esp + 0x74], eax
je 0x42c6db
cmp edx, 0x2e
jne 0x42c6dc
dec ecx
mov dword [esp + 0x7c], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cda0
add esp, 4
mov dword [esp + 0x38], eax
cmp dword [esp], 0
je 0x42c7e4
xor ebp, ebp
mov edi, 2
jmp 0x42c722
mov ebp, ebx
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
mov edi, eax
jae 0x42c7e4
mov esi, dword [esp + 0x74]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.004228a0
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.004228a0
mov edx, dword [esp + 4]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], ebp
mov byte [ecx + ebp], ah
cmp edi, edx
jae 0x42c710
mov byte [esp + 0x3f], al
movzx eax, byte [esi + edi]
push eax
call fcn.004228a0
mov edx, dword [esp + 4]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x42c712
movzx ecx, byte [esp + 0x3f]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
mov esi, dword [esp + 0x4c]
lea ebp, [esi + 2]
mov ecx, dword [esp + 0x38]
mov byte [ecx + esi + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x42c712
mov eax, dword [esp + 0x74]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.004228a0
mov edx, dword [esp + 4]
add esp, 4
cmp al, 0x40
je 0x42c712
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x4c]
mov byte [ecx + ebp + 2], al
add ebp, 3
jmp 0x42c712
mov eax, dword [esp + 0x7c]
add eax, 0xfffffffb
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x38]
add eax, 5
mov dword [esp + 0x98], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
push 0x31f26afb
push dword [0x44fbc0]
call fcn.004429d0
add esp, 8
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x94]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp], 0
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x84]
jmp dword [ecx*4 + 0x44be58]
cmp ebx, 0xfffffff8
jge 0x42c86c
mov eax, 0xffffffff
jmp 0x42c873
mov eax, dword [esp + 0x78]
add eax, 0x10
push eax
call fcn.0040cda0
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 4], 0x8326816f
mov dword [esp + 8], 0x87688534
mov dword [esp + 0xc], 0x8b32893c
mov dword [esp + 0x10], 0x8f8e8d38
mov word [esp + 0x14], 0
mov eax, 0x60
mov ecx, 0x9f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x5c]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x20
mov byte [esp + eax - 0x5c], dl
inc eax
dec ecx
cmp eax, 0x72
jne 0x42c8c0
movzx ecx, word [edi]
mov esi, dword [esp + 0x4c]
mov eax, esi
test cx, cx
je 0x42c901
lea edx, [edi + 2]
mov eax, esi
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c8f0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x42c931
lea edx, [esp + 6]
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 0x42c920
mov word [eax], 0
mov ecx, dword [esp + 0x108]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push esi
call fcn.0040d750
mov dword [esp], eax
jmp dword [0x44be60]
push esi
call fcn.0040cdb0
add esp, 4
jmp dword [0x44be6c]
jmp dword [0x44be6c]
push 0xd80d2c4a
push dword [0x44fba8]
call fcn.004429d0
add esp, 8
push dword [esp + 0x70]
call eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0xd80d2c4a
push dword [0x44fba8]
call fcn.004429d0
add esp, 8
push dword [esp + 0x70]
call eax
jmp dword [0x44be74]
jmp dword [0x44be78]
push dword [esp + 0x38]
call fcn.0040cdb0
add esp, 4
push dword [esp + 0x80]
call fcn.00404ed0
add esp, 4
jmp dword [0x44be80]
mov esi, dword [esp + esi + 0x88]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x42c9f0
sar eax, 1
mov ecx, dword [esp + 0x5c]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx*2 + 0x1a]
test ecx, ecx
jns 0x42ca19
mov eax, 0xffffffff
push eax
call fcn.0040cda0
add esp, 4
movzx edx, word [ebp]
mov ecx, eax
test dx, dx
je 0x42ca51
mov edi, dword [esp + 0x68]
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 [edi]
add edi, 2
test dx, dx
jne 0x42ca40
mov word [ecx], 0x5c
mov dword [esp + 4], 0x834e815c
mov dword [esp + 8], 0x8725852b
mov dword [esp + 0xc], 0x8b268929
mov dword [esp + 0x10], 0x8f5d8d6c
mov dword [esp + 0x14], 0x93339124
mov dword [esp + 0x18], 0x97339520
mov word [esp + 0x1c], 0x9998
lea edx, [esp + 4]
mov byte [edx + 0x1e], 0
mov dword [edx + 0x1a], 0
xor edx, edx
nop
nop
mov ebx, edx
add bl, 0x60
xor bl, byte [esp + edx + 4]
add bl, 0x20
mov byte [esp + edx + 4], bl
inc edx
cmp edx, 0x1f
jne 0x42caa0
add ecx, 2
movzx edx, word [esi]
test dx, dx
je 0x42cae1
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x42cad0
mov word [ecx], 0
movzx edx, word [esp + 4]
test dx, dx
je 0x42cb11
lea esi, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x42cb00
mov word [ecx], 0
lea ecx, [esp + 0x44]
push 0x60
push 3
push 0x120089
push ecx
push eax
call fcn.00443500
add esp, 0x14
mov esi, dword [esp + 0x54]
mov edi, dword [esp + esi + 0x88]
mov eax, 0xfffffffe
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x42cb40
mov dword [esp + 0x78], eax
mov ebx, eax
sar ebx, 1
mov eax, dword [esp + 0x5c]
lea ecx, [ebx + eax]
lea edx, [ebx + eax]
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42cb70
mov eax, 0xffffffff
push eax
call fcn.0040cda0
add esp, 4
movzx ecx, word [ebp]
mov dword [esp + 0x40], eax
test cx, cx
je 0x42cba1
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x40]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42cb90
mov word [eax], 0x5c
mov dword [esp + 4], 0x834e815c
mov dword [esp + 8], 0x8725852b
mov dword [esp + 0xc], 0x8b268929
mov dword [esp + 0x10], 0x8f5d8d6c
mov dword [esp + 0x14], 0x93339124
mov dword [esp + 0x18], 0x97339520
mov word [esp + 0x1c], 0x9998
lea ecx, [esp + 4]
mov byte [ecx + 0x1e], 0
mov dword [ecx + 0x1a], 0
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0x60
xor dl, byte [esp + ecx + 4]
add dl, 0x20
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 0x1f
jne 0x42cbf0
add eax, 2
movzx ecx, word [edi]
test cx, cx
je 0x42cc31
lea edx, [edi + 2]
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 0x42cc20
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x42cc61
lea edx, [esp + 6]
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 0x42cc50
mov word [eax], 0
lea eax, [esp + 0x44]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x50]
call fcn.00443500
add esp, 0x14
jmp dword [0x44be14]
push edi
call fcn.0040cdb0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44beac]
mov esi, dword [esp + 0x54]
jmp dword [0x44beb0]
push ebx
call fcn.0040cdb0
add esp, 4
add esi, 4
xor eax, eax
cmp esi, 0xc
setne al
mov ebp, dword [esp + 0x48]
jmp dword [eax*4 + 0x44bde8]
mov dword [esp], edx
jmp dword [0x44be80]
push ebp
call fcn.0040cdb0
add esp, 4
mov esi, edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov dword [esp + 4], 0xd4d5cacb
mov ebp, 0x219f7c4e
mov edi, 0xde6083b1
nop
nop
nop
movzx ebx, byte [esp + ebp - 0x219f7c4a]
mov ecx, ebx
xor ecx, ebp
or ecx, edi
mov eax, ecx
shr al, 1
and al, 1
mov edx, ecx
not dl
mov ah, dl
and ah, 0x5d
mul ah
add al, al
sub bl, al
test cl, 2
sete al
or dl, 2
mul dl
add al, al
sub bl, al
movzx eax, bl
add eax, ebp
add al, 0x7a
mov byte [esp + ebp - 0x219f7c4a], al
inc ebp
dec edi
cmp ebp, 0x219f7c52
jne 0x42cd00
mov eax, dword [0x44fbb4]
test eax, eax
mov edi, esi
mov ebp, dword [esp + 0x50]
je 0x42cd90
mov ecx, dword [esp + 4]
xor edx, edx
mov esi, dword [0x44fbb8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x7e776f1
je 0x42cd80
inc edx
cmp eax, edx
jne 0x42cd70
jmp 0x42cd90
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x42d0db
nop
nop
nop
nop
mov esi, dword [esp + 0x54]
mov ebx, dword [esp]
jmp dword [0x44be88]
movzx eax, bl
jmp dword [eax*4 + 0x44be90]
mov eax, dword [esp + 0x5c]
lea ecx, [eax + ebp]
add ecx, 0x17
test ecx, ecx
mov dword [esp + 0x64], edi
jns 0x42cdc0
mov eax, 0xffffffff
jmp 0x42cdc9
add eax, ebp
lea eax, [eax*2 + 0x2e]
mov dword [esp + 0x50], ebp
push eax
call fcn.0040cda0
add esp, 4
mov ecx, dword [esp + 0x48]
movzx ecx, word [ecx]
mov esi, eax
test cx, cx
je 0x42ce01
mov edx, dword [esp + 0x68]
mov esi, eax
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42cdf0
mov dword [esp + 0x40], eax
mov eax, esi
mov word [esi], 0x5c
mov dword [esp + 4], 0x994e9b78
mov dword [esp + 8], 0xa54ba769
mov dword [esp + 0xc], 0xa156a34b
mov dword [esp + 0x10], 0xad73af80
mov dword [esp + 0x14], 0xa95bab50
mov dword [esp + 0x18], 0xb559b756
mov dword [esp + 0x1c], 0xb159b35d
mov dword [esp + 0x20], 0xbd4abf54
mov dword [esp + 0x24], 0xb940bb57
mov dword [esp + 0x28], 0x45b24753
mov dword [esp + 0x2c], 0x41ac43a8
mov word [esp + 0x30], 0x4f40
lea ecx, [esp + 4]
mov byte [ecx + 0x32], 0
mov dword [ecx + 0x2e], 0
mov ecx, 0xdb
mov edx, 0x13f86d24
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0xd7]
mov esi, edx
or esi, edi
not edi
or edi, ecx
and edi, esi
mov ebx, edi
not ebx
mov ebp, 0x63da21b7
sub ebp, edi
mov esi, ebp
and esi, 1
add edi, 0x48
and edi, 0x70
and ebp, 0x8f
or ebp, edi
xor ebp, 0x71
and ebx, 1
or ebx, ebp
add ebx, esi
mov byte [esp + ecx - 0xd7], bl
inc ecx
dec edx
cmp ecx, 0x10e
jne 0x42ce90
add eax, 2
mov ebx, dword [esp + 0x64]
movzx ecx, word [ebx]
test cx, cx
je 0x42cf01
lea edx, [ebx + 2]
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42cef0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x42cf31
lea edx, [esp + 6]
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 0x42cf20
mov word [eax], 0
cmp dword [esp + 0x50], 0xfffffff7
jge 0x42cf50
mov eax, 0xffffffff
jmp 0x42cf57
mov eax, dword [esp + 0x78]
add eax, 0x12
push eax
call fcn.0040cda0
add esp, 4
mov edi, eax
mov dword [esp + 4], 0xc95ecb9d
mov dword [esp + 8], 0xc54cc753
mov dword [esp + 0xc], 0xc156c35f
mov dword [esp + 0x10], 0xfd60ff5c
mov word [esp + 0x14], 0xfbfc
lea eax, [esp + 4]
mov byte [eax + 0x14], 0
mov word [eax + 0x12], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 4]
lea esi, [eax + 0xd3]
mov ecx, 0x2c
sub ecx, eax
xor ecx, esi
and ecx, edx
xor ecx, esi
add cl, 0xe1
mov byte [esp + eax + 4], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x15
jb 0x42cfa0
movzx ecx, word [ebx]
mov eax, edi
test cx, cx
je 0x42cff1
add ebx, 2
mov eax, edi
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x42cfe0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x42d021
lea edx, [esp + 6]
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 0x42d010
mov word [eax], 0
mov dword [esp + 4], 0xd7d6c9fe
lea eax, [esp + 4]
mov byte [eax + 6], 0
mov word [eax + 4], 0
mov eax, 0x8e611a4e
mov ecx, 0x719ee5b1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x719ee5b6]
mov ebx, ecx
or ebx, edx
lea esi, [ecx - 0x719ee500]
and esi, edx
xor esi, ebx
and esi, eax
mov ebx, esi
and ebx, 0x5d
mov ebp, esi
and ebp, 2
or esi, 2
imul esi, ebp
xor ebp, 2
imul ebp, ebx
add esi, ebp
lea ebp, [ecx - 0x719ee580]
and ebp, esi
mov ebx, esi
xor ebx, eax
add ebp, ebp
sub ebx, ebp
add bl, dl
add bl, 0x7a
mov byte [esp + eax + 0x719ee5b6], bl
inc eax
dec ecx
cmp eax, 0x8e611a55
jne 0x42d050
push 0
push 0
push 0xc00000
lea eax, [esp + 0x10]
push eax
mov ebx, dword [esp + 0x50]
push ebx
push edi
push dword [esp + 0x120]
call fcn.004253f0
add esp, 0x1c
mov ecx, dword [esp + 0x60]
and cl, 1
or cl, al
mov dword [esp + 0x60], ecx
jmp dword [0x44be98]
push dword [esp + 0x38]
push 1
push dword [0x44fbbc]
push eax
call fcn.004403c0
add esp, 0x10
mov esi, dword [esp + 0x54]
mov ebx, dword [esp]
jmp dword [0x44be88]
jmp dword [0x44be44]
mov eax, dword [esp + 0x58]
mov byte [ebp + eax], 0
push ebp
call fcn.00403db0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x58]
mov byte [ebp + eax], 0
push ebp
call fcn.00403db0
add esp, 4
jmp dword [0x44be48]
mov esi, dword [esp + 0x58]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0040cda0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x50]
call fcn.00443910
add esp, 0x10
mov esi, dword [esp + 0x58]
lea eax, [esi + 1]
push eax
call fcn.0040cda0
add esp, 4
mov ebp, eax
push 0
push esi
push eax
push dword [esp + 0x50]
call fcn.00443910
add esp, 0x10
jmp dword [0x44be34]
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x44be38]
mov al, 0x42
add cl, ch
mov al, 0x42
add ah, bh
mov cl, 0x42
add byte [esi], dl
mov dl, 0x42
add ch, dl
mov dl, 0x42
add byte [edi], ah
mov dl, 0x42
add al, bh
mov dl, 0x42
add byte [ebx], ch
mov bl, 0x42
add byte [ebx - 0x41], ch
inc edx
add byte [ebx + esi*4 + 0x42], dl
add byte [edx - 0x73ffbd4c], dh
mov bl, 0x42
add byte [edx - 0x1affbd4c], dl
mov bl, 0x42
add byte [edi - 0x41ffbd4c], al
mov ah, 0x42
add byte [edi + 0x70042b4], al
mov ch, 0x42
add byte [eax - 0x6fffbd4c], dl
mov ah, 0x42
add byte [edx - 0x6fffbd4c], dl
mov ah, 0x42
add byte [eax - 0x4dffbd4c], bl
mov ah, 0x42
add byte [eax + 0x6b0042b4], bh
mov edi, 0xc23b0042
inc edx
add byte [edx], dh
ret 0x42
mov ebp, 0xbd5f0042
inc edx
add byte [esi], al
mov ebp, 0xb7570042
inc edx
add byte [edi + esi*4 + 0x42], al
add byte [edi + esi*4 - 0x474effbe], al
inc edx
add dh, dh
mov bh, 0x42
add al, ah
mov bh, 0x42
add byte [edi - 0x48], cl
inc edx
add byte [ebx - 0x2fffbd48], bh
mov eax, 0xb8d00042
inc edx
add al, ch
mov eax, 0xb9490042
inc edx
add byte [0x3d0042b9], bl
mov ecx, 0xb9000042
inc edx
add byte [ecx - 0x47], cl
inc edx
add byte [ebx], cl
mov ecx, 0xb9570042
inc edx
add byte [ecx + edi*4 + 0x42], ch
add byte [0xf0042ba], al
mov edx, 0xbb000042
inc edx
add byte [edi + esi*4 + 0x42], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], al
mov ebp, 0x10042
add byte [eax], al
pop ss
mov ebp, -1120534462
inc edx
add byte [edi*4 - 0x427dffbe], bh
inc edx
add byte [eax - 0x43], dl
inc edx
add byte [edx - 0x43], al
inc edx
add byte [eax - 0x43], dl
inc edx
add byte [edx + 0x290042bd], al
mov ebx, 0xbe4a0042
inc edx
add byte [ebx], ah
mov ebx, 0xbe5a0042
inc edx
add dh, dh
mov esi, 0xbf060042
inc edx
add ah, ch
les eax, [edx]
lds eax, ss:[edx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
in al, dx
les eax, [edx]
les eax, [edx]
add al, ch
inc edx
add byte [ecx], dh
retf