Function at 0x42b389
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xe0
push eax
sub esp, 0x24
mov dword [ebp - 0x20], esp
sub esp, 8
mov dword [ebp - 0xa4], esp
sub esp, 8
mov dword [ebp - 0xac], esp
sub esp, 8
mov dword [ebp - 0xa0], esp
sub esp, 0x20
mov dword [ebp - 0x94], esp
mov dword [ebp - 0xec], 0x99e89bcb
mov dword [ebp - 0xe8], 0xa5daa7e5
mov dword [ebp - 0xe4], 0xa1d6a3cb
mov dword [ebp - 0xe0], 0xadfeafd4
mov dword [ebp - 0xdc], 0xa9d6abc3
mov dword [ebp - 0xd8], 0xb5b6b7c0
mov byte [ebp - 0xd4], 0
mov eax, 0x1b
mov ecx, 0xab7f90e4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + eax - 0x107]
lea edx, [ecx + 0x54807000]
mov edi, eax
and edi, 0x3b
and edx, 0x84
or edx, edi
mov edi, ecx
or edi, esi
xor edx, 0x7b
and edx, esi
lea esi, [edi + edi]
not esi
add esi, edi
or esi, edx
mov edx, esi
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
add dl, 0x78
mov byte [ebp + eax - 0x107], dl
inc eax
dec ecx
cmp eax, 0x34
jne 0x42a3e0
mov dword [ebp - 0x8c], 0x3758395c
mov dword [ebp - 0x88], 0x33693569
mov dword [ebp - 0x84], 0x4f213169
mov dword [ebp - 0x80], 0x4b244d20
mov dword [ebp - 0x7c], 0x47224921
mov dword [ebp - 0x78], 0x43034511
mov dword [ebp - 0x74], 0x5f06411f
mov dword [ebp - 0x70], 0x5b085d05
mov dword [ebp - 0x6c], 0x57325905
mov dword [ebp - 0x68], 0x5301553b
mov dword [ebp - 0x64], 0x6f02510a
mov dword [ebp - 0x60], 0x6b2b6d07
mov dword [ebp - 0x5c], 0x673b6906
mov dword [ebp - 0x58], 0x63086500
mov dword [ebp - 0x54], 0x7f0a6101
mov dword [ebp - 0x50], 0x7b077df6
mov dword [ebp - 0x4c], 0x7719791c
mov dword [ebp - 0x48], 0x730f75f8
mov dword [ebp - 0x44], 0x8ffb7111
mov word [ebp - 0x40], 0x8d8c
mov word [ebp - 0x3a], 0
mov dword [ebp - 0x3e], 0
mov eax, 0x36
mov ecx, 0xc9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + eax - 0xc2]
mov esi, eax
or esi, edx
not edx
or edx, ecx
and edx, esi
add dl, 0xf2
mov byte [ebp + eax - 0xc2], dl
inc eax
dec ecx
cmp eax, 0x8a
jne case.default.0x42a524
lea ebx, [ebp - 0xec]
lea eax, [ebp - 0x8c]
push ebx
push eax
call fcn.0043a5b0
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44b614]
mov ecx, edi
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42a530
sub eax, edi
cmp eax, 0xffffffd9
jge 0x42a550
mov eax, 0xffffffff
jmp 0x42a553
xor eax, eax
jmp 0x42ad33
add eax, 0x26
push eax
call fcn.0040c6f0
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x8c], 0xf15bff50
mov dword [ebp - 0x88], 0xf54cf341
mov dword [ebp - 0x84], 0xc94df752
mov dword [ebp - 0x80], 0xcd66cb71
mov dword [ebp - 0x7c], 0xc17fcf69
mov dword [ebp - 0x78], 0xc564c37e
mov dword [ebp - 0x74], 0xd97fc77f
mov dword [ebp - 0x70], 0xdd6cdba6
mov dword [ebp - 0x6c], 0xd178df78
mov word [ebp - 0x68], 0xd3d0
mov dword [ebp - 0x66], 0
mov byte [ebp - 0x62], 0
mov eax, 0x5daf9455
nop
nop
nop
movzx edx, byte [ebp + eax - 0x5daf94e1]
mov esi, eax
and esi, edx
add edx, eax
add esi, esi
mov ecx, edx
sub ecx, esi
add edx, edx
mov esi, 2
sub esi, edx
not esi
and esi, 2
xor ecx, 1
add ecx, esi
add cl, 0x56
mov byte [ebp + eax - 0x5daf94e1], cl
inc eax
cmp eax, 0x5daf9480
jne 0x42a5c0
movzx ecx, word [edi]
mov esi, dword [ebp - 0x34]
mov eax, esi
test cx, cx
je 0x42a621
mov edx, edi
add edx, 2
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a610
mov word [eax], 0
movzx ecx, word [ebp - 0x8c]
test cx, cx
je 0x42a651
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 0x42a640
mov word [eax], 0
jmp dword [0x44b61c]
jmp dword [0x44b628]
jmp dword [0x44b6e4]
cmp dword [edx + 0x18], 3
mov edi, 0
jne 0x42a670
mov edi, dword [edx + 0x10]
jmp 0x42a670
mov eax, dword [edx]
mov dword [ebp - 0x90], eax
test eax, eax
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44b6ec]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44b6d4]
mov dword [ebp - 0x28], edx
mov eax, edi
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42a6ef
mov dword [ebp - 0x18], ebx
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [ebp - 0xa8], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c6f0
add esp, 4
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [ebp - 0x30], eax
jmp dword [edx*4 + 0x44b6f4]
inc edi
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44b6f4]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x42a722
mov edx, 0xffffffff
or ecx, 0x20
lea esi, [ecx - 0x61]
cmp esi, 6
jae case.default.0x42a73d
add ecx, 0xffffffa9
mov edx, ecx
movsx ecx, byte [edi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x44b6fc]
lea ebx, [ecx - 0x30]
cmp ebx, 0xa
jb 0x42a751
mov ebx, 0xffffffff
or ecx, 0x20
lea esi, [ecx - 0x61]
cmp esi, 6
jae case.default.0x42a776
add ecx, 0xffffffa9
mov ebx, ecx
shl edx, 4
or edx, ebx
add edi, 2
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44b6f4]
mov byte [eax], 0
mov dword [ebp - 0x20], 0
push 0
push 0x10
push 0
push dword [ebp - 0x90]
call fcn.0042d1b0
add esp, 0x10
xor ebx, ebx
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x18]
setne bl
jmp dword [ebx*4 + 0x44b704]
mov ecx, dword [esi]
mov dword [ebp - 0x20], ecx
xor edi, edi
jmp dword [edi*4 + 0x44b714]
add esi, 8
xor ebx, ebx
cmp esi, dword [ebp - 0x18]
setne bl
jmp dword [ebx*4 + 0x44b704]
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 + 0x44b70c]
mov ecx, 1
jmp dword [ecx*4 + 0x44b714]
xor eax, eax
mov edx, dword [ebp - 0x20]
test edx, edx
setne al
jmp dword [eax*4 + 0x44b71c]
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
jmp dword [0x44b74c]
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
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
nop
nop
cmp byte [edx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42a897
mov esi, dword [ebp - 0xac]
mov dword [esi], eax
mov dword [esi + 4], edx
mov edi, dword [ebp - 0xa0]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x14e20a34
push dword [0x44f708]
call fcn.00441f60
add esp, 8
push edi
push 1
push 0
push 0
push esi
push 0
push dword [ebp - 0xa4]
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [ebp - 0x18]
jmp dword [ecx*4 + 0x44b724]
mov edx, dword [ebp - 0x28]
jmp dword [0x44b74c]
jmp dword [0x44b730]
push dword [ebp - 0x30]
call fcn.0040c700
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 + 0x44b6d4]
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax]
mov esi, dword [ebp - 0x10]
mov eax, esi
test cl, cl
je 0x42a8fb
mov eax, dword [ebp - 0x20]
lea edx, [eax + 1]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42a8f0
mov word [eax], 0x203a
lea esi, [eax + 2]
mov ebx, dword [edi]
test ebx, ebx
je 0x42a915
mov ecx, dword [edi + 4]
test bl, 1
jne 0x42a919
mov edx, ebx
jmp 0x42a93f
mov eax, esi
jmp 0x42a96f
mov edx, ebx
not edx
mov esi, edx
movzx edx, byte [ecx]
mov byte [ebp - 0x14], dl
cmp byte [ebp - 0x14], 1
sbb ecx, 0xffffffff
lea edx, [esi + ebx*2]
mov esi, ebx
movzx ebx, byte [ebp - 0x14]
mov byte [eax + 2], bl
mov ebx, esi
add eax, 3
mov esi, eax
cmp ebx, 1
je 0x42a96f
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
add eax, 2
add edx, 0xfffffffe
jne 0x42a950
mov byte [eax], 0xa
push 0xbe5098bb
push dword [0x44f6f0]
call fcn.00441f60
add esp, 8
push dword [edi + 4]
call eax
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
movzx eax, byte [ecx]
mov esi, dword [ebp - 0x10]
test al, al
je 0x42a9ab
inc ecx
mov esi, dword [ebp - 0x10]
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42a9a0
mov word [esi], 0x203a
mov eax, edi
lea edi, [esi + 2]
mov edx, dword [eax]
test edx, edx
je 0x42a9c7
mov eax, dword [eax + 4]
test dl, 1
jne 0x42a9cb
mov ecx, edx
jmp 0x42a9e6
mov esi, edi
jmp 0x42aa0f
mov ecx, edx
not ecx
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
lea ecx, [ecx + edx*2]
mov byte [esi + 2], bl
mov ebx, dword [ebp - 0x18]
add esi, 3
mov edi, esi
cmp edx, 1
je 0x42aa0f
mov esi, edi
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
add esi, 2
add ecx, 0xfffffffe
jne 0x42a9f0
mov byte [esi], 0xa
push 0xbe5098bb
push dword [0x44f6f0]
call fcn.00441f60
add esp, 8
mov edi, dword [ebp - 0xa0]
push dword [edi + 4]
call eax
jmp dword [0x44b734]
inc esi
mov al, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esi
mov edx, dword [ebp - 0x28]
jmp dword [0x44b74c]
mov dword [ebp - 0x8c], 0x5b545a7f
mov dword [ebp - 0x88], 0x66546c47
mov dword [ebp - 0x84], 0x5b676b13
mov dword [ebp - 0x80], 0xc69604e
mov dword [ebp - 0x7c], 0x221f1c2c
mov dword [ebp - 0x78], 0x14157c6f
mov dword [ebp - 0x74], 0x23242423
mov dword [ebp - 0x70], 0xb523
mov eax, 0x83dc154d
nop
nop
movzx edx, byte [edi]
lea ecx, [edx + edx]
not ecx
add ecx, edx
not edx
and edx, ecx
or edx, eax
and ecx, eax
xor ecx, edx
lea edx, [ecx + 0x85]
mov esi, ecx
not esi
and esi, 1
and ecx, 1
and edx, 0xfe
or edx, ecx
lea ecx, [edx + esi*2]
mov byte [edi], cl
inc edi
dec eax
cmp eax, 0x83dc152d
jne 0x42aa90
lea eax, [ebp - 0x8c]
mov ecx, dword [ebp - 0x30]
push eax
call fcn.0042cf80
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x44b66c]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x44b674]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov dword [esi + eax + 4], ecx
mov ebx, dword [ebp - 0x18]
add ebx, 8
mov ecx, dword [ebp - 0x90]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
mov edx, dword [ebp - 0x2c]
jmp dword [eax*4 + 0x44b674]
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x90], ecx
mov esi, ebx
sub esi, edi
cmp ebx, edx
mov dword [ebp - 0x10], esi
jne 0x42abe8
mov ecx, esi
sar ecx, 3
xor ecx, 1
mov eax, esi
shr eax, 2
and eax, 2
add eax, ecx
mov dword [ebp - 0x2c], edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x42ab80
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [ebp - 0x24], eax
test edi, edi
je 0x42abde
mov esi, dword [ebp - 0x2c]
cmp edi, esi
mov edx, dword [ebp - 0x24]
je 0x42abd2
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, esi
jne 0x42abb0
push edi
call fcn.0040c700
add esp, 4
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
lea edx, [edi + ebx*8]
mov ebx, edi
add ebx, esi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x18], ebx
mov dword [edi + esi], 0
mov dword [edi + esi + 4], 0
xor eax, eax
mov ebx, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax], 0
lea eax, [eax + 1]
jne 0x42ac10
push eax
mov esi, eax
call fcn.0040c6f0
add esp, 4
mov dword [ebp - 0x24], edi
mov ecx, dword [ebp - 0x10]
mov dword [edi + ecx], eax
mov ecx, esi
shr ecx, 2
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov dword [ebp - 0x14], esi
mov edx, esi
and edx, 0xfffffffc
add eax, edx
add edx, ebx
and esi, 3
mov ecx, esi
shr ecx, 1
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov edi, dword [ebp - 0x14]
mov ecx, edi
xor ecx, 2
and ecx, esi
je 0x42ac7a
mov esi, edi
and esi, 2
add edx, esi
add eax, esi
push ecx
push edx
push eax
call fcn.0040c720
add esp, 0xc
xor ecx, ecx
cmp edi, 1
je 0x42ab10
mov ecx, 0xffffffff
mov eax, 1
nop
mov edx, dword [ebp - 0x1c]
movzx edi, byte [edx + eax - 1]
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
mov edx, dword [ebp - 0x14]
inc eax
cmp edx, eax
jne 0x42ac90
not ecx
jmp 0x42ab10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
jmp dword [0x44b754]
mov esi, dword [ebp - 0x2c]
mov ecx, esi
call fcn.0042d110
push esi
call fcn.0040c700
add esp, 4
jmp case.0x42a524.37
mov ebx, dword [ebp - 0x18]
jmp dword [0x44b7b4]
push dword [ebp - 0x1c]
mov esi, eax
call fcn.0040c700
mov eax, esi
add esp, 4
and al, 1
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x42b11e
jmp 0x42ad33
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], 0x5c5d5e5f
mov dword [ebp - 0x88], 0
nop
nop
nop
nop
movzx edx, byte [ebp + edi - 0x8c]
lea esi, [edi + 0xf0]
mov ecx, edi
xor ecx, esi
xor ecx, 0xf
and ecx, edx
xor ecx, esi
add cl, 0x50
mov byte [ebp + edi - 0x8c], cl
inc edi
cmp edi, 8
jne 0x42ada0
mov ecx, dword [0x44f6fc]
test ecx, ecx
je 0x42ae08
mov edx, dword [ebp - 0x8c]
xor esi, esi
mov edi, dword [0x44f700]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42ae00
inc esi
cmp ecx, esi
jne 0x42adf0
jmp 0x42ae08
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42ae2d
mov edi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x14]
jmp dword [0x44b794]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x44b79c]
jmp dword [0x44b7b4]
push eax
push 1
push dword [0x44f704]
push ecx
call fcn.0043f170
add esp, 0x10
mov edi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x14]
jmp dword [0x44b794]
push dword [ebp - 0x9c]
call fcn.0040c700
add esp, 4
mov eax, dword [case.0x42a524.86]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
add eax, 8
mov dword [ebp - 0x14], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp dword [eax*4 + 0x44b6d4]
mov ecx, dword [ebp - 0x30]
call fcn.0042d110
push dword [ebp - 0x30]
call fcn.0040c700
add esp, 4
jmp dword [0x44b684]
mov esi, dword [ebp - 0x8c]
lea eax, [esi + 1]
push eax
call fcn.0040c6f0
add esp, 4
push 0
push esi
mov dword [ebp - 0x9c], eax
push eax
push dword [ebp - 0x98]
call fcn.00442eb0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp dword [eax*4 + 0x44b6ac]
mov eax, dword [case.0x42a524.84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44b76c]
mov eax, dword [case.0x42a524.35]
nop
nop
nop
jmp eax
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x9c]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c6f0
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.0042cd40
movzx eax, al
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp dword [eax*4 + 0x44b6b4]
mov esi, dword [ebp - 0x20]
jmp dword [0x44b6bc]
mov dword [esi], 0xe5e8fe19
mov dword [esi + 4], 0xf2e0f0e9
mov dword [esi + 8], 0xf5f50125
mov dword [esi + 0xc], 0x82bfcee
mov dword [esi + 0x10], 0xefdf8e8
mov dword [esi + 0x14], 0xb13e6d1
mov dword [esi + 0x18], 0x1d03000a
mov dword [esi + 0x1c], 0x50f08ed
mov dword [esi + 0x20], 0xaf0b
mov byte [esi + 0x24], 0
mov eax, 0x5c77c16d
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x20]
movzx esi, byte [ecx + eax - 0x5c77c16d]
lea edx, [eax - 0x5c77c100]
and edx, esi
mov edi, edx
or edi, 0xfffffffd
inc edi
mov ecx, edx
and ecx, 0xfffffffd
imul ecx, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
add ecx, esi
mov esi, dword [ebp - 0x20]
sub ecx, edx
add ecx, eax
mov edx, ecx
and edx, 0x5e
xor ecx, 0xde
lea ecx, [ecx + edx*2]
inc cl
mov byte [esi + eax - 0x5c77c16d], cl
inc eax
cmp eax, 0x5c77c192
jne 0x42afd0
mov ecx, dword [ebp - 0x2c]
push esi
call fcn.0042cf80
nop
nop
nop
mov dword [esi], 0xe5e8fe19
mov dword [esi + 4], 0xf2e0f0e9
mov dword [esi + 8], 0xf5f50125
mov dword [esi + 0xc], 0x82bfcee
mov dword [esi + 0x10], 0xefdf8e8
mov dword [esi + 0x14], 0xb13e6d1
mov dword [esi + 0x18], 0x1d03000a
mov dword [esi + 0x1c], 0x50f08ed
mov dword [esi + 0x20], 0xaf0b
mov byte [esi + 0x24], 0
mov eax, 0x5c77c16d
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x20]
movzx esi, byte [ecx + eax - 0x5c77c16d]
lea edx, [eax - 0x5c77c100]
and edx, esi
mov edi, edx
or edi, 0xfffffffd
inc edi
mov ecx, edx
and ecx, 0xfffffffd
imul ecx, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
add ecx, esi
mov esi, dword [ebp - 0x20]
sub ecx, edx
add ecx, eax
mov edx, ecx
and edx, 0x5e
xor ecx, 0xde
lea ecx, [ecx + edx*2]
inc cl
mov byte [esi + eax - 0x5c77c16d], cl
inc eax
cmp eax, 0x5c77c192
jne 0x42b080
mov ecx, dword [ebp - 0x2c]
push esi
call fcn.0042cf80
jmp dword [0x44b6c8]
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
jmp dword [ecx*4 + 0x44b6cc]
jmp dword [0x44b684]
push dword [ebp - 0x28]
call fcn.0040c700
add esp, 4
jmp case.0x42a524.15
xor eax, eax
test edi, edi
je 0x42ad33
cmp edi, ebx
je 0x42ad33
mov dword [ebp - 0x14], eax
mov esi, edi
jmp 0x42b137
add esi, 8
cmp esi, ebx
je 0x42b148
mov eax, dword [esi]
test eax, eax
je 0x42b130
push eax
call fcn.0040c700
add esp, 4
jmp 0x42b130
push edi
call fcn.0040c700
add esp, 4
mov eax, dword [ebp - 0x14]
jmp 0x42ad33
push esi
call fcn.0040c700
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44b694]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x10]
jmp dword [0x44b7a4]
mov byte [ebx], 0
mov dword [edi], 0xe7e2e1d1
mov dword [edi + 4], 0x23cfced5
mov dword [edi + 8], 0xd8dcded1
mov dword [edi + 0xc], 0xda2af693
mov dword [edi + 0x10], 0xcf95d4c1
mov dword [edi + 0x14], 0xc9c3c6cb
mov dword [edi + 0x18], 0x33368fcb
mov dword [edi + 0x1c], 0xb538
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [eax + 0x1c]
mov edx, 0x23
sub edx, eax
and edx, 0x2b
and ecx, 0x14
or ecx, edx
xor cl, byte [edi + eax]
xor cl, 0x2b
add cl, 0x74
mov byte [edi + eax], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x20
jb 0x42b1c0
mov ebx, dword [ebp - 0x10]
mov eax, ebx
mov edx, dword [ebp - 0x1c]
sub eax, edx
mov ecx, dword [ebp + 8]
push eax
push edx
push edi
call fcn.0040d2e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ebx
mov byte [ebx], 0
mov dword [edi], 0xe7e2e1d1
mov dword [edi + 4], 0x23cfced5
mov dword [edi + 8], 0xd8dcded1
mov dword [edi + 0xc], 0xda2af693
mov dword [edi + 0x10], 0xcf95d4c1
mov dword [edi + 0x14], 0xc9c3c6cb
mov dword [edi + 0x18], 0x33368fcb
mov dword [edi + 0x1c], 0xb538
xor eax, eax
nop
nop
lea ecx, [eax + 0x1c]
mov edx, 0x23
sub edx, eax
and edx, 0x2b
and ecx, 0x14
or ecx, edx
xor cl, byte [edi + eax]
xor cl, 0x2b
add cl, 0x74
mov byte [edi + eax], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x20
jb 0x42b250
mov ebx, esi
mov eax, esi
mov edx, dword [ebp - 0x1c]
sub eax, edx
mov ecx, dword [ebp + 8]
push eax
push edx
push edi
call fcn.0040d2e0
jmp dword [0x44b7ac]
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x44b634]
jmp dword [0x44b63c]
mov dword [ebp - 0x8c], 0xf1b4ffb9
mov dword [ebp - 0x88], 0xf557f35c
mov dword [ebp - 0x84], 0xc948f745
mov dword [ebp - 0x80], 0xcd71cb6e
mov dword [ebp - 0x7c], 0xc162cf75
mov dword [ebp - 0x78], 0xc573c365
mov dword [ebp - 0x74], 0xd960c77a
mov dword [ebp - 0x70], 0xdd63db63
mov dword [ebp - 0x6c], 0xd168dfa2
mov dword [ebp - 0x68], 0xd574d374
mov word [ebp - 0x64], 0xd7d4
mov dword [ebp - 0x62], 0
mov eax, 0xae3f6fd5
lea edi, [ebp - 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebp + eax + 0x51c08f9f]
mov edx, ecx
not edx
or edx, eax
add dl, dl
add dl, cl
neg dl
movzx ecx, dl
add ecx, eax
add cl, 0xd5
mov byte [ebp + eax + 0x51c08f9f], cl
inc eax
cmp eax, 0xae3f7003
jne 0x42b320
push 0
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x44b63c]
push 0x60
push 3
push 0x120089
push ebx
push esi
call fcn.00442a10
add esp, 0x14
nop
nop
push 0x60
push 3
push 0x120089
push ebx
push esi
call fcn.00442a10
add esp, 0x14
jmp dword [0x44b648]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b64c]
xor edi, edi
xor ebx, ebx
jmp dword [0x44b68c]
lea eax, [ebp - 0x38]
push 0
push eax
push dword [ebp - 0xec]
call fcn.00442db0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44b654]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x8c], 0x5c5d5e5f
mov dword [ebp - 0x88], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + edi - 0x8c]
lea esi, [edi + 0xf0]
mov ecx, edi
xor ecx, esi
xor ecx, 0xf
and ecx, edx
xor ecx, esi
add cl, 0x50
mov byte [ebp + edi - 0x8c], cl
inc edi
cmp edi, 8
jne 0x42b3f0
mov ecx, dword [0x44f6fc]
test ecx, ecx
je 0x42b4fe
mov edx, dword [ebp - 0x8c]
xor esi, esi
mov edi, dword [0x44f700]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42b4f2
inc esi
cmp ecx, esi
jne 0x42b440
jmp 0x42b4fe
mov esi, dword [ebp - 0x38]
lea eax, [esi + 1]
push eax
call fcn.0040c6f0
add esp, 4
push 0
push esi
mov dword [ebp - 0x28], eax
push eax
push dword [ebp - 0xec]
call fcn.00442eb0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44b65c]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov byte [eax + esi], 0
push 0x20
call fcn.0040c6f0
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
lea edi, [ebp - 0x8c]
mov dword [ebp - 0x30], eax
mov ecx, eax
push esi
push dword [ebp - 0x28]
call fcn.0042cd40
movzx eax, al
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44b664]
xor edi, edi
jmp dword [0x44b67c]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42b70c
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x34]
jmp dword [0x44b68c]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44b694]
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x24], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c6f0
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c], 0x8152876b
mov dword [ebp - 0x88], 0x8d2f8331
mov dword [ebp - 0x84], 0x893a8f2f
mov dword [ebp - 0x80], 0x953a8b4b
mov dword [ebp - 0x7c], 0x915a9724
mov dword [ebp - 0x78], 0x9d2e9333
mov dword [ebp - 0x74], 0x99719f3f
mov dword [ebp - 0x70], 0x65479b3c
mov dword [ebp - 0x6c], 0x61c967d8
mov dword [ebp - 0x68], 0x6dd563c3
mov dword [ebp - 0x64], 0x69da6fc8
mov dword [ebp - 0x60], 0x75c76bd9
mov dword [ebp - 0x5c], 0x71c277d7
mov dword [ebp - 0x58], 0x7dcc7386
mov dword [ebp - 0x54], 0x79d07fd0
lea esi, [ebp - 0x50]
mov word [ebp - 0x50], 0x7b78
mov dword [ebp - 0x4e], 0
mov byte [ebp - 0x4a], 0
mov ecx, 0xfd0b6027
mov edx, 0xfa16c04e
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ebp + ecx + 0x2f49f4d]
mov eax, edx
and eax, 0x400080c2
mov edi, ecx
xor edi, 0x20704661
add eax, edi
add eax, 0x2f49fd9
mov edi, ebx
and edi, eax
add edi, edi
sub eax, edi
add al, bl
add al, 0x1b
mov byte [ebp + ecx + 0x2f49f4d], al
inc ecx
add edx, 2
cmp ecx, 0xfd0b606a
jne 0x42b5d0
lea eax, [ebp - 0x8c]
lea edx, [ebp - 0xec]
mov edi, edx
mov ecx, 0xf
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [ebp - 0xb0]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea edi, [ebp - 0x38]
push edi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x44f6f8]
mov ebx, dword [ebp - 0x38]
test ebx, ebx
jns 0x42b657
mov eax, 0xffffffff
jmp 0x42b65a
lea eax, [ebx + ebx]
push eax
call fcn.0040c6f0
add esp, 4
mov esi, eax
push edi
push ebx
push eax
push 0x1e
lea eax, [ebp - 0xec]
push eax
push 0
call dword [0x44f6f8]
lea eax, [ebp - 0x98]
push 0x60
push 3
push 0x120089
push eax
mov dword [ebp - 0x34], esi
push esi
call fcn.00442a10
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b69c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x18]
jmp dword [0x44b794]
push dword [ebp - 0x34]
mov esi, edx
call fcn.0040c700
add esp, 4
mov edx, esi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, esi
jmp dword [ecx*4 + 0x44b79c]
push 0
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0x98]
call fcn.00442db0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp - 0x18]
jmp dword [eax*4 + 0x44b6a4]
push eax
push 1
push dword [0x44f704]
push ecx
call fcn.0043f170
add esp, 0x10
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x34]
jmp dword [0x44b68c]
push edi
call fcn.0040c700
add esp, 4
push edi
call fcn.0040c700
add esp, 4
jmp dword [0x44b62c]
jmp dword [0x44b7c4]
push dword [esp + 0x48]
call fcn.0040c700
add esp, 4
mov eax, dword [esp + 0x4c]
and al, 1
add esp, 0xf0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x70], ecx
mov ebx, dword [esp + ecx + 0x8c]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + edi + 2], 0
lea edi, [edi + 2]
jne 0x42baa0
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x60]
lea ecx, [edx + eax]
mov dword [esp + 0x50], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42bacf
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x42bb01
mov edx, dword [esp + 0x68]
mov eax, ebp
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42baf0
mov word [eax], 0x5c
mov dword [esp], 0x31623f50
mov dword [esp + 4], 0x35573341
mov dword [esp + 8], 0x494a3757
mov dword [esp + 0xc], 0x4d1f4b68
mov dword [esp + 0x10], 0x412d4f38
mov dword [esp + 0x14], 0x45254334
mov dword [esp + 0x18], 0x4744
mov ecx, 0x745bbd35
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x745bbd35]
xor edx, ecx
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0xf6
mov byte [esp + ecx - 0x745bbd35], dl
inc ecx
cmp ecx, 0x745bbd51
jne 0x42bb50
add eax, 2
movzx ecx, word [ebx]
test cx, cx
je 0x42bba1
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 0x42bb90
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x42bbd1
lea edx, [esp + 2]
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 0x42bbc0
mov dword [esp + 0x6c], ebx
mov word [eax], 0
lea eax, [esp + 0x5c]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.00442a10
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b7cc]
xor ebx, ebx
jmp dword [0x44b84c]
lea eax, [esp + 0x58]
push 0
push eax
push dword [esp + 0x64]
call fcn.00442db0
add esp, 0xc
not eax
shr eax, 0x1f
xor esi, esi
xor ebx, ebx
jmp dword [eax*4 + 0x44b7d4]
mov ebx, dword [esp + 0x58]
lea eax, [ebx + 1]
push eax
call fcn.0040c6f0
add esp, 4
push 0
push ebx
mov dword [esp + 0x6c], eax
push eax
push dword [esp + 0x68]
call fcn.00442eb0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44b7dc]
mov ebx, dword [esp + 0x64]
jmp dword [0x44b7e4]
xor ebx, ebx
jmp dword [0x44b82c]
jmp dword [0x44b820]
push ebx
call fcn.0040c700
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.0040c700
add esp, 4
jmp dword [0x44b828]
push dword [esp + 0x64]
call fcn.0040c700
add esp, 4
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x5c]
mov dword [esp], 0x5c5d5e5f
mov dword [esp + 4], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi]
lea ebp, [esi + 0xf0]
mov ecx, esi
xor ecx, ebp
xor ecx, 0xf
and ecx, edx
xor ecx, ebp
add cl, 0x50
mov byte [esp + esi], cl
inc esi
cmp esi, 8
jne 0x42c000
mov ecx, dword [0x44f6fc]
test ecx, ecx
je 0x42c060
mov edx, dword [esp]
xor esi, esi
mov ebp, dword [0x44f700]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + esi*8], 0xb62b8d10
je 0x42c051
inc esi
cmp ecx, esi
jne 0x42c040
jmp 0x42c060
mov ecx, dword [ebp + esi*8 + 4]
cmp ecx, edx
jne 0x42c06a
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp + 0x40]
jmp dword [0x44b84c]
push eax
push 1
push dword [0x44f704]
push ecx
call fcn.0043f170
add esp, 0x10
mov ebp, dword [esp + 0x40]
jmp dword [0x44b84c]
push 0xbe5098bb
push dword [0x44f6f0]
call fcn.00441f60
add esp, 8
push dword [esp + 0x78]
call eax
mov ebx, dword [esp + 0x38]
jmp dword [0x44b82c]
push dword [esp + 0x44]
call fcn.0040c700
add esp, 4
push dword [esp + 0x80]
call fcn.00404940
add esp, 4
jmp dword [0x44b834]
jmp dword [0x44b834]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44b7f4]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x80], eax
push eax
call fcn.004046d0
add esp, 4
mov dword [esp], 0x2c273a35
mov dword [esp + 4], 0x31323832
mov dword [esp + 8], 0x2438207a
mov dword [esp + 0xc], 0x293a303a
mov dword [esp + 0x10], 0x24373b3b
mov word [esp + 0x14], 0x283f
mov byte [esp + 0x16], 0x92
mov ecx, esp
mov byte [ecx + 0x1b], 0
mov dword [ecx + 0x17], 0
mov ecx, 0x2f007f61
mov edx, 0x9e
nop
nop
movzx ebp, byte [esp + ecx - 0x2f007f61]
mov ebx, edx
xor ebx, ecx
and ebx, ebp
xor ebx, ecx
mov ebp, ebx
and ebp, 1
or ebx, 1
add ebx, ebp
add bl, 0x1a
mov byte [esp + ecx - 0x2f007f61], bl
inc ecx
dec edx
cmp ecx, 0x2f007f7d
jne 0x42c140
mov ecx, esp
push ecx
push eax
call fcn.00404810
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
mov dword [esp + 0x54], eax
nop
nop
nop
nop
nop
nop
nop
nop
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x42c190
shr edx, 2
mov ebx, ecx
not ebx
and ebx, 1
mov ebp, ecx
mov dword [esp + 0x34], ecx
and ecx, 0xfffffffe
sub ecx, ebx
movzx ecx, byte [eax + ecx]
cmp ecx, 0x3d
je 0x42c1c0
cmp ecx, 0x2e
jne 0x42c1c1
dec edx
mov ecx, dword [esp + 0x34]
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
je 0x42c1d4
cmp ecx, 0x2e
jne 0x42c1d5
dec edx
mov dword [esp + 0x7c], edx
lea eax, [edx + 1]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x44], eax
cmp dword [esp + 0x34], 0
je 0x42c2ed
xor edx, edx
mov ebp, 2
jmp 0x42c214
lea eax, [ebp + 4]
add ebp, 2
mov edx, dword [esp + 0x38]
cmp ebp, ecx
mov ebp, eax
jae 0x42c2ed
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00420e60
add esp, 4
mov byte [esp + 0x38], al
movzx eax, byte [ebx + ebp - 1]
push eax
call fcn.00420e60
mov edx, dword [esp + 0x40]
add esp, 4
mov bh, al
movzx ecx, byte [esp + 0x38]
shl cl, 2
shr al, 4
and al, 3
or al, cl
lea ecx, [edx + 1]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
mov byte [ecx + edx], al
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
jae 0x42c200
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + ebp]
push eax
call fcn.00420e60
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
je 0x42c200
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edx, dword [esp + 0x3c]
lea ecx, [edx + 2]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
mov byte [ecx + edx + 1], al
mov ecx, dword [esp + 0x34]
lea eax, [ebp + 1]
cmp eax, ecx
jae 0x42c200
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00420e60
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
je 0x42c200
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov byte [ecx + edx + 2], al
mov ecx, dword [esp + 0x34]
add edx, 3
mov dword [esp + 0x38], edx
jmp 0x42c200
mov eax, dword [esp + 0x7c]
add eax, 0xfffffffb
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
add eax, 5
mov dword [esp + 0x88], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
push 0x14e20a34
push dword [0x44f708]
call fcn.00441f60
add esp, 8
lea ecx, [esp + 0x74]
lea edx, [esp + 0x84]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov ecx, dword [case.0x42a524.123]
mov ebp, dword [esp + 0x40]
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44b80c]
lea eax, [edi + 0x10]
cmp dword [esp + 0x50], 0xfffffff8
jge 0x42c36f
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp], 0x61fa67b5
mov dword [esp + 4], 0x5db463f0
mov dword [esp + 8], 0x59d65fd0
mov dword [esp + 0xc], 0x555a5bd4
xor eax, eax
xor ecx, ecx
nop
movzx ebx, byte [esp + ecx]
mov ebp, ecx
xor ebp, 0x34700167
mov edx, eax
and edx, 0x10
sub edx, ebp
mov ebp, edx
and ebp, ebx
add ebp, ebp
add edx, ebx
mov ebx, edx
sub ebx, ebp
and edx, 1
xor ebx, 1
lea edx, [ebx + edx*2]
add dl, 2
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x10
jne 0x42c3a0
mov edx, dword [esp + 0x6c]
movzx ecx, word [edx]
mov ebx, dword [esp + 0x3c]
mov eax, ebx
test cx, cx
je 0x42c401
add edx, 2
mov eax, ebx
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c3f0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
mov ebp, dword [esp + 0x40]
je 0x42c431
lea edx, [esp + 2]
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 0x42c420
mov word [eax], 0
mov ecx, dword [esp + 0x104]
push dword [esp + 0x74]
push dword [esp + 0x7c]
push ebx
call fcn.0040d130
mov dword [esp + 0x38], eax
jmp dword [0x44b814]
mov eax, dword [esp + 0x58]
mov byte [ebx + eax], 0
push ebx
call fcn.00403d90
add esp, 4
mov eax, dword [esp + 0x58]
mov byte [ebx + eax], 0
push ebx
call fcn.00403d90
add esp, 4
jmp dword [0x44b7f0]
movsd dword es:[edi], dword [esi]
inc edx
add byte [ecx - 0x5b], cl
inc edx
add byte [esi + 0x42], bl
add byte [eax + 0x2a0042b2], bl
mov bh, 0x42
add byte [ebx], dh
mov bh, 0x42
add byte [eax + 0x2a0042b2], bl
mov bh, 0x42
add byte [eax - 0x51ffbd4e], ch
mov dl, 0x42
add byte [eax - 0x4d], dh
inc edx
add byte [ebx - 0x4d], bl
inc edx
add byte [eax - 0x4d], dh
inc edx
add byte [ecx - 0x6affbd4d], cl
mov bl, 0x42
add byte [edi - 0x3affbd4d], bl
mov bl, 0x42
add byte [edi - 0x4c], dl
inc edx
add dh, bh
mov al, 0x42
add byte [ebx - 0x15ffbd4c], cl
mov ah, 0x42
add byte [eax - 0x56], cl
inc edx
add dl, ch
mov ah, 0x42
add cl, ch
stosb byte es:[edi], al
inc edx
add dl, ch
mov ah, 0x42
add byte [esi], bh
stosd dword es:[edi], eax
inc edx
add byte [edx - 0x1ffbd52], dl
mov al, 0x42
add byte [ecx + esi*4], al
inc edx
add ch, al
mov bl, 0x42
add byte [ecx - 0x4f], bl
inc edx
add byte [edx], cl
mov ch, 0x42
add byte [eax], bl
mov ch, 0x42
add byte [ecx + esi*4], dl
inc edx
add byte [ecx - 0x28ffbd4a], ah
mov dh, 0x42
add byte [edx - 0x54ffbd53], al
scasb al, byte es:[edi]
inc edx
add dh, ch
scasb al, byte es:[edi]
inc edx
add byte [edx], dl
scasd eax, dword es:[edi]
inc edx
add byte [ebx], bh
lodsd eax, dword [esi]
inc edx
add byte [eax - 0x51], bh
inc edx
add byte [eax], dh
mov al, 0x42
add byte [ecx + 0x300042af], al
mov al, 0x42
add bl, ah
mov al, 0x42
add byte [ebx], bh
lodsd eax, dword [esi]
inc edx
add byte [edx - 0x52], dh
inc edx
add byte [ebx], bh
lodsd eax, dword [esi]
inc edx
add byte [esi - 0x5a], dh
inc edx
add byte [esi - 0x5a], dh
inc edx
add byte [esi - 0x5a], dh
inc edx
add byte [esi + 0x760042a6], al
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [esi - 0x5948ffbe], ah
inc edx
add byte [ebp - 0x59], bh
inc edx
add byte [0x42a7], dl
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [edi + 0x42], al
add ah, bh
cmpsd dword [esi], dword es:[edi]
inc edx
add al, dl
cmpsd dword [esi], dword es:[edi]
inc edx
add al, dh
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax - 0x3ffbd59], dh
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [esi + 0xd0042a7], bh
test al, 0x42
add byte [ecx], bl
test al, 0x42
add byte [esi - 0x58ffbd58], bl
test al, 0x42
add dh, cl
test al, 0x42
add byte [ebp + 0x360042a9], cl
stosb byte es:[edi], al
inc edx
add dh, cl
test al, 0x42
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x10042a8], cl
add byte [eax], al
add byte [ebp - 0x5bffbd58], ch
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [ebx - 0x53], al
inc edx
add dh, ch
scasb al, byte es:[edi]
inc edx
add byte [eax], al
scasd eax, dword es:[edi]
inc edx
add byte [eax], al
scasd eax, dword es:[edi]
inc edx
add byte [eax], al
scasd eax, dword es:[edi]
inc edx
add byte [edx], al
scasd eax, dword es:[edi]
inc edx
add byte [esi - 0x52], cl
inc edx
add byte [eax], cl
scasd eax, dword es:[edi]
inc edx
add byte [eax - 0x52], dh
inc edx
add byte [eax - 0x52], dh
inc edx
add byte [eax], cl
scasd eax, dword es:[edi]
inc edx
add byte [eax - 0x52], dh
inc edx
add byte [eax], dl
scasd eax, dword es:[edi]
inc edx
add byte [eax], dl
scasd eax, dword es:[edi]
inc edx
add byte [edx + 0x100042ad], al
scasd eax, dword es:[edi]
inc edx
add byte [eax + 0x170042b6], bh
scasb al, byte es:[edi]
inc edx
add byte [edi], ah
scasb al, byte es:[edi]
inc edx
add byte [eax - 0x4f], dh
inc edx
add byte [eax], dl
mov dl, 0x42
add byte [ecx + esi*4 + 0x42], bh
add byte [ebx - 0x53], bl
inc edx
add byte [eax], dl
mov dl, 0x42
add byte [ebp + ebp*4 + 0x42], ah
add byte [ebx - 0x53], dh
inc edx
add byte [edx - 0x46], cl
inc edx
add byte [esi + 0x500042ba], al
mov edx, 0xba5c0042
inc edx
add ch, bh
mov ebx, 0xbc100042
inc edx
add bl, bl
mov edi, 0xbc330042
inc edx
add dl, cl
rol byte [edx], 0x65
mov esp, 0xc4660042
inc edx
add byte [ebp - 0x3c], dl
inc edx
add byte [ebp - 0x3c], dl
inc edx
add al, dl
rol byte [edx], 0xca
rol byte [edx], 0xe0
rol byte [edx], 0x50
ret