Function at 0x42fea2
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x460
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x5c], 0x77fa79f7
mov dword [esp + 0x60], 0x73d375c9
mov dword [esp + 0x64], 0x4fbc71c5
mov dword [esp + 0x68], 0x4bc24df1
mov dword [esp + 0x6c], 0x474649f5
mov word [esp + 0x70], 0
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
cmp eax, 0x15
ja 0x42e47b
nop
mov eax, dword [esp + 0x24]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x24]
push eax
call fcn.00431bb0
add esp, 8
mov ecx, dword [esp + 0x24]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, 0x16
jb 0x42e450
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x4c]
push eax
call fcn.00446490
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4559cc]
lea ecx, [esp + 0x4c]
push 0x410
call fcn.004466b0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4559d4]
mov dword [esp + 0x5c], 0x3a53083d
mov dword [esp + 0x60], 0xa5530
mov dword [esp + 0x64], 0x340d3351
mov dword [esp + 0x68], 0x3f162e4d
mov dword [esp + 0x6c], 0x104b423e
mov dword [esp + 0x70], 0x27444e45
mov dword [esp + 0x74], 0x2229462a
mov dword [esp + 0x78], 0xdeb7dcc3
mov dword [esp + 0x7c], 0xbec0cec2
mov dword [esp + 0x80], 0xd6b3adc1
mov dword [esp + 0x84], 0x7baab1b1
mov word [esp + 0x88], 0
mov byte [esp + 0x8a], 0
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
cmp eax, 0x2e
ja 0x42e56b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x24]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x24]
push eax
call fcn.00431c20
add esp, 8
mov ecx, dword [esp + 0x24]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, 0x2f
jb 0x42e540
lea eax, [esp + 0x24]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
lea edx, [esp + 0x64]
push edx
push eax
call fcn.00447280
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x4559dc]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040ccf0
add esp, 4
mov dword [esp + 0x40], 0
xor ecx, ecx
mov dword [esp + 0x48], esi
cmp edi, esi
setne cl
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], eax
jmp dword [ecx*4 + 0x4559e4]
mov ebx, dword [esp + 0x40]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4559ec]
mov edi, dword [esp + 0x3c]
jmp dword [0x455a4c]
add edi, 8
xor eax, eax
cmp edi, dword [esp + 0x48]
setne al
jmp dword [eax*4 + 0x4559e4]
mov esi, dword [edi]
mov dword [esp + 0x38], edi
mov edi, dword [edi + 4]
push 0x400
push 0
lea ebx, [esp + 0x64]
push ebx
call fcn.0040cd70
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [esp + 0x4c]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.00447060
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x1c]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4559f4]
mov eax, 1
mov edi, dword [esp + 0x38]
jmp dword [eax*4 + 0x4559fc]
xor eax, eax
mov edi, dword [esp + 0x38]
jmp dword [eax*4 + 0x4559fc]
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor esi, esi
test al, al
je 0x42e6b1
lea ecx, [esp + 0x5c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42e6af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42e6a0
jmp 0x42e6b1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x455a04]
movzx eax, byte [esi + 1]
inc esi
xor edx, edx
test al, al
je 0x42e6e1
mov ecx, esi
nop
nop
nop
nop
cmp al, 0x2e
je 0x42e6df
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42e6d0
jmp 0x42e6e1
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x455a0c]
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], esi
jmp dword [0x455a14]
mov dword [esp + 0x18], 0x93f01ce3
lea eax, [esp + 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 6
ja 0x42e75b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
movzx eax, byte [esp + eax + 0x18]
push dword [esp + 0x20]
push eax
call fcn.00431c80
add esp, 8
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 7
jb 0x42e730
lea eax, [esp + 0x18]
push eax
push edi
call fcn.00404510
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x455a44]
mov edx, dword [esp + 0x30]
jmp 0x42e7a6
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x30]
je 0x42e79b
inc eax
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42e790
mov byte [edx], 0
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x5c]
test al, al
je 0x42e7cb
lea ecx, [esp + 0x5d]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42e7c0
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x30], edx
mov al, 1
mov dword [esp + 0x40], eax
jmp case.0x42e6e8.12
mov ebx, eax
jmp dword [0x455a24]
jmp dword [0x455a2c]
mov edi, dword [esp + 0x44]
mov ecx, edi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
mov dword [esp + 0x10], ecx
je 0x42e80c
cmp eax, 0x2e
jne 0x42e80d
dec edx
movzx eax, byte [esi + ecx - 2]
cmp eax, 0x3d
je 0x42e81c
cmp eax, 0x2e
jne 0x42e81d
dec edx
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
push eax
call fcn.0040ccf0
add esp, 4
mov dword [esp + 8], eax
cmp edi, esi
je 0x42e940
xor ebx, ebx
mov esi, 2
jmp 0x42e860
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42e940
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00423170
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00423170
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov byte [edx + ebx], cl
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + 1]
mov edx, dword [esp + 0x10]
cmp esi, edx
jae 0x42e850
mov byte [esp + 7], al
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi]
push eax
call fcn.00423170
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x42e850
movzx ecx, byte [esp + 7]
shl cl, 4
mov edx, eax
shr dl, 2
and dl, 0xf
or dl, cl
mov edi, dword [esp + 0xc]
lea ebx, [edi + 2]
mov ecx, dword [esp + 8]
mov byte [ecx + edi + 1], dl
mov edx, dword [esp + 0x10]
lea ecx, [esi + 1]
cmp ecx, edx
jae 0x42e850
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + esi + 1]
push ecx
mov byte [esp + 0xb], al
call fcn.00423170
mov edx, dword [esp + 0x14]
add esp, 4
movzx ecx, byte [esp + 7]
cmp al, 0x40
je 0x42e850
shl cl, 6
add al, cl
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x42e850
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 8]
mov byte [ecx + eax], 0
push ecx
call fcn.00403c50
add esp, 4
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x44]
mov ecx, edi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x42e975
cmp eax, 0x2e
jne 0x42e976
dec edx
movzx eax, byte [esi + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x10], ecx
je 0x42e989
cmp eax, 0x2e
jne 0x42e98a
dec edx
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
push eax
call fcn.0040ccf0
add esp, 4
mov dword [esp + 8], eax
cmp edi, esi
je 0x42eaa0
xor ebx, ebx
mov edi, 2
jmp 0x42e9c0
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
mov edi, eax
jae 0x42eaa0
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x14]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00423170
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00423170
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov byte [edx + ebx], cl
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + 1]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x42e9b0
mov byte [esp + 7], al
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + edi]
push eax
call fcn.00423170
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x42e9b0
mov ch, al
movzx eax, byte [esp + 7]
shl al, 4
mov cl, ch
shr cl, 2
and cl, 0xf
or cl, al
mov esi, dword [esp + 0xc]
lea ebx, [esi + 2]
mov eax, dword [esp + 8]
mov byte [eax + esi + 1], cl
lea eax, [edi + 1]
cmp eax, edx
jae 0x42e9b0
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + edi + 1]
push eax
mov byte [esp + 0xb], ch
call fcn.00423170
movzx ecx, byte [esp + 0xb]
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x42e9b0
shl cl, 6
add al, cl
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x42e9b0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 8]
mov byte [ecx + eax], 0
push ecx
call fcn.00403c50
add esp, 4
mov esi, dword [esp + 0x14]
jmp dword [0x455a20]
push ebx
call fcn.00404d00
add esp, 4
mov edi, dword [esp + 0x38]
add edi, 8
xor eax, eax
cmp edi, dword [esp + 0x48]
setne al
jmp dword [eax*4 + 0x4559e4]
push ebx
call fcn.00404750
add esp, 4
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x455a3c]
push dword [esp + 8]
call fcn.0040cd00
add esp, 4
push dword [esp + 8]
call fcn.0040cd00
add esp, 4
jmp dword [0x455a34]
xor ebx, ebx
test edi, edi
jne 0x42ebfa
jmp case.0x42e48e.1
mov ecx, dword [esp + 0x30]
mov byte [ecx], 0
mov eax, ecx
not eax
mov edi, dword [esp + 0x3c]
mov esi, edi
not esi
and esi, ecx
mov dword [esp + 0x5c], 0x333e3949
mov dword [esp + 0x60], 0x37232a35
mov dword [esp + 0x64], 0x30343239
mov dword [esp + 0x68], 0x3e2e5277
mov dword [esp + 0x6c], 0x4b6d2439
mov dword [esp + 0x70], 0x2137222f
mov dword [esp + 0x74], 0x1f226327
mov word [esp + 0x78], 0x9520
mov dword [esp + 0x7a], 0
mov byte [esp + 0x7e], 0
and eax, edi
sub esi, eax
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 0x22
ja 0x42ebcb
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x18]
push eax
call fcn.00431cf0
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 0x23
jb 0x42eba0
lea eax, [esp + 0x5c]
mov ecx, dword [ebp + 8]
push esi
push edi
push eax
call fcn.0040d830
mov ebx, eax
jmp dword [0x455a4c]
push edi
call fcn.0040cd00
add esp, 4
and bl, 1
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
test edi, edi
je case.0x42e48e.1
cmp edi, esi
je case.0x42e48e.1
push edi
call fcn.0040cd00
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.00446820
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x455a68]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x455aec]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42ec60
sub eax, esi
cmp eax, 0xffffffd9
jge 0x42f022
mov eax, 0xffffffff
jmp 0x42f025
xor edx, edx
test eax, eax
sete dl
xor ecx, ecx
jmp dword [edx*4 + 0x455ae4]
jmp dword [ecx*4 + 0x455a54]
mov dword [esp + 0x20], 0x41b447a0
mov dword [esp + 0x24], 0x4d8b438f
mov dword [esp + 0x28], 0x49b34f87
mov dword [esp + 0x2c], 0x75b84bb4
mov dword [esp + 0x30], 0x7192778f
mov dword [esp + 0x34], 0x7db17387
mov dword [esp + 0x38], 0x79b67fb1
mov dword [esp + 0x3c], 0x658c7bb3
mov dword [esp + 0x40], 0x618267ab
mov dword [esp + 0x44], 0x6d93639d
mov dword [esp + 0x48], 0x69926fa2
mov dword [esp + 0x4c], 0x15a96b91
mov dword [esp + 0x50], 0x11d917e6
mov dword [esp + 0x54], 0x1dec13f4
mov dword [esp + 0x58], 0x198a1fff
mov dword [esp + 0x5c], 0x5f51b86
mov dword [esp + 0x60], 0x1fb07e0
mov dword [esp + 0x64], 0xded039c
mov dword [esp + 0x68], 0x9990fef
mov dword [esp + 0x6c], 0xb08
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x4f
ja 0x42ed76
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00432460
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x50
jb 0x42ed50
lea eax, [esp + 0x80]
lea edi, [esp + 0x20]
push 0
push 0
push ebx
push eax
push edi
call fcn.0044d890
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x455a7c]
lea ebx, [esp + 0x8c]
lea eax, [esp + 0x90]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0xa0]
call fcn.0044dca0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x455a94]
mov ecx, dword [esp + 0x8c]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x42ede7
mov eax, 0xffffffff
push eax
call fcn.0040ccf0
add esp, 4
mov esi, eax
mov dword [esp + 0x20], 0x29b82b6b
mov dword [esp + 0x24], 0x2dba2fbd
mov dword [esp + 0x28], 0x513e534b
mov dword [esp + 0x2c], 0x5526573c
mov dword [esp + 0x30], 0x59ce5b33
mov dword [esp + 0x34], 0x5d5e5f30
mov dword [esp + 0x38], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42ee66
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.004324e0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x42ee40
push ebx
push esi
push 0
push edi
push dword [esp + 0x90]
call fcn.0044e270
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x455a9c]
jmp dword [0x455aa4]
push esi
call fcn.0040cd00
add esp, 4
mov eax, dword [case.0x42ed93.6]
nop
nop
nop
nop
nop
nop
nop
nop
xor esi, esi
jmp eax
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x20], 0xe8ebeae5
mov dword [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42eef6
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00433230
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42eed0
mov eax, dword [0x459d64]
test eax, eax
je 0x42ef60
mov ecx, dword [esp + 0x20]
xor edx, edx
mov ebp, dword [0x459d68]
nop
nop
nop
nop
nop
cmp dword [ebp + edx*8], 0x7e776f1
je 0x42ef51
inc edx
cmp eax, edx
jne 0x42ef10
jmp 0x42ef60
jmp dword [0x455a90]
mov eax, 4
xor edx, edx
cmp eax, 4
setb dl
mov ebx, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x455adc]
mov eax, dword [ebp + edx*8 + 4]
cmp eax, ecx
jne case.default.0x42ef67
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x455abc]
push edi
call fcn.0044cf60
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [case.0x42eff0.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
cmp ecx, 1
sete cl
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x455ad4]
xor ecx, ecx
xor edx, edx
cmp ecx, 4
setb dl
mov ebx, 0x20119
xor eax, eax
jmp dword [edx*4 + 0x455adc]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov ebx, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x455adc]
push ebx
push 1
push dword [0x459d6c]
push eax
call fcn.00449ba0
add esp, 0x10
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x455abc]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov ebx, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x455adc]
xor ebx, ebx
jmp 0x42f7f1
add eax, 0x26
push eax
call fcn.0040ccf0
add esp, 4
mov edi, eax
mov dword [esp + 0x20], 0xe90feb38
mov dword [esp + 0x24], 0xed1cef19
mov dword [esp + 0x28], 0xf11df306
mov dword [esp + 0x2c], 0xf52af719
mov dword [esp + 0x30], 0xf90bfb11
mov dword [esp + 0x34], 0xfd14ff0a
mov dword [esp + 0x38], 0x816b8313
mov dword [esp + 0x3c], 0x857c87b2
mov dword [esp + 0x40], 0x89608b60
mov word [esp + 0x44], 0x8f88
mov dword [esp + 0x46], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x29
ja 0x42f0c6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00432520
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2a
jb 0x42f0a0
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x42f0f1
lea edx, [esi + 2]
mov eax, edi
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 0x42f0e0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x42f121
lea edx, [esp + 0x22]
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 0x42f110
mov word [eax], 0
jmp dword [0x455af4]
push esi
call fcn.0040cd00
add esp, 4
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x455afc]
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x455afc]
mov dword [esp + 0x20], 0x61ac67d9
mov dword [esp + 0x24], 0x5dff63c4
mov dword [esp + 0x28], 0x59c85fcd
mov dword [esp + 0x2c], 0x55c15bc6
mov dword [esp + 0x30], 0x51f257cd
mov dword [esp + 0x34], 0x4dc353cd
mov dword [esp + 0x38], 0x49d04fda
mov dword [esp + 0x3c], 0x45d34bd3
mov dword [esp + 0x40], 0x41c84792
mov dword [esp + 0x44], 0x3ddc43dc
mov word [esp + 0x48], 0x3f3c
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x42f1f6
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00432570
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x42f1d0
lea eax, [esp + 0x20]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x80]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x1c], edi
push edi
call fcn.0044d160
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x455b04]
xor esi, esi
xor ebp, ebp
jmp dword [0x455b54]
push dword [esp + 0xc]
call fcn.0040cd00
add esp, 4
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x455b5c]
xor ebx, ebx
test esi, esi
jne 0x42f7c7
jmp 0x42f7f1
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x88]
call fcn.0044d4a0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x455b0c]
mov esi, dword [esp + 0x90]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0040ccf0
add esp, 4
push 0
push esi
mov dword [esp + 0x7c], eax
push eax
push dword [esp + 0x8c]
call fcn.0044d580
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x455b14]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x74]
mov byte [edi + esi], 0
push 0x20
call fcn.0040ccf0
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 + 0x70], eax
mov ecx, eax
push esi
push edi
call fcn.00431d40
movzx eax, al
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x455b1c]
mov dword [esp + 0x20], 0xab94aa8f
mov dword [esp + 0x24], 0x86b49ca7
mov dword [esp + 0x28], 0x8b879bf3
mov dword [esp + 0x2c], 0x9cf980be
mov dword [esp + 0x30], 0x828f8cbc
mov dword [esp + 0x34], 0xb4b5ecff
mov dword [esp + 0x38], 0x83848483
mov dword [esp + 0x3c], 0x1583
mov byte [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x42f3a6
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00433060
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x42f380
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x70]
push eax
call fcn.00431f80
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x455b24]
jmp dword [0x455b44]
mov edi, dword [esp + 0x70]
mov ecx, edi
call fcn.00432120
push edi
call fcn.0040cd00
add esp, 4
jmp dword [0x455b4c]
jmp dword [0x455b4c]
push dword [esp + 0x74]
call fcn.0040cd00
add esp, 4
mov ebx, esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x20], 0xe8ebeae5
mov dword [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42f446
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00433230
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42f420
mov eax, dword [0x459d64]
test eax, eax
je 0x42f47c
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, dword [0x459d68]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42f470
inc edx
cmp eax, edx
jne 0x42f460
jmp 0x42f47c
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42fe6a
mov esi, ebx
jmp dword [0x455b54]
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x455b5c]
mov eax, ebp
mov dword [esp + 0x14], esi
sub eax, esi
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040ccf0
add esp, 4
mov ebx, eax
mov edi, dword [0x459d60]
mov dword [esp + 0x20], 0xf74209e5
mov dword [esp + 0x24], 0xf35df567
mov dword [esp + 0x28], 0xff6af151
mov dword [esp + 0x2c], 0xfb6afd3d
mov dword [esp + 0x30], 0xe72af968
mov dword [esp + 0x34], 0xe37ee545
mov dword [esp + 0x38], 0xef03e141
mov dword [esp + 0x3c], 0xeb55ed48
mov dword [esp + 0x40], 0xd77be974
mov dword [esp + 0x44], 0xd347d575
mov dword [esp + 0x48], 0xdf4ad174
mov dword [esp + 0x4c], 0xdb75dd4f
mov dword [esp + 0x50], 0xc752d979
mov dword [esp + 0x54], 0xc358c516
mov dword [esp + 0x58], 0xcf64c16c
mov word [esp + 0x5c], 0xcdcc
mov dword [esp + 0x5e], 0
mov word [esp + 0x62], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x43
ja 0x42f596
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.004330c0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x44
jb 0x42f570
lea esi, [esp + 0x90]
lea eax, [esp + 0x20]
push esi
push 0
push 0
push 0x1e
push eax
push 0
call edi
mov edi, dword [esp + 0x90]
test edi, edi
mov dword [esp + 0x18], ebx
jns 0x42f5c3
mov eax, 0xffffffff
jmp 0x42f5c6
lea eax, [edi + edi]
push eax
call fcn.0040ccf0
add esp, 4
mov dword [esp + 0x10], eax
mov ebx, dword [0x459d60]
mov dword [esp + 0x20], 0x71a27f9b
mov dword [esp + 0x24], 0x75d773c1
mov dword [esp + 0x28], 0x49ca77d7
mov dword [esp + 0x2c], 0x4dfa4b8b
mov dword [esp + 0x30], 0x418a4ffc
mov dword [esp + 0x34], 0x45f643e3
mov dword [esp + 0x38], 0x59a147e7
mov dword [esp + 0x3c], 0x5d8f5bf4
mov dword [esp + 0x40], 0x51f95fe8
mov dword [esp + 0x44], 0x55ed53f3
mov dword [esp + 0x48], 0x29ea57f8
mov dword [esp + 0x4c], 0x2d8f2b99
mov dword [esp + 0x50], 0x21922f8f
mov dword [esp + 0x54], 0x259423de
mov dword [esp + 0x58], 0x39802780
mov dword [esp + 0x5c], 0x3b38
mov byte [esp + 0x60], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x40
ja 0x42f696
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00433130
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x41
jb 0x42f670
push esi
push edi
mov esi, dword [esp + 0x18]
push esi
push 0x1e
lea eax, [esp + 0x30]
push eax
push 0
call ebx
lea eax, [esp + 0x8c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0044d160
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x455b64]
xor ebx, ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x14]
jmp dword [0x455c3c]
push dword [esp + 0x10]
call fcn.0040cd00
add esp, 4
mov dword [esp + 8], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x455c44]
mov edi, dword [esp + 0xc]
mov byte [edi], 0
mov dword [esp + 0x20], 0xedeaebd3
mov dword [esp + 0x24], 0xd9c9caef
mov dword [esp + 0x28], 0xdcd0d2d3
mov dword [esp + 0x2c], 0xc6d2f291
mov dword [esp + 0x30], 0xf59bd8c3
mov dword [esp + 0x34], 0xc7ddc2d9
mov dword [esp + 0x38], 0xc9ce81c9
mov dword [esp + 0x3c], 0xbfcc
mov byte [esp + 0x40], 0
mov ebx, dword [esp + 0x18]
sub edi, ebx
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x42f796
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.004331c0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x42f770
mov ecx, dword [esp + 0xb0]
push edi
push ebx
lea eax, [esp + 0x28]
push eax
call fcn.0040d830
mov dword [esp + 8], eax
jmp dword [0x455c4c]
push ebx
call fcn.0040cd00
add esp, 4
mov ebx, dword [esp + 8]
and bl, 1
test esi, esi
je 0x42f7f1
cmp esi, ebp
je 0x42f7f1
mov edi, esi
jmp 0x42f7d7
add esi, 8
cmp esi, ebp
je 0x42f7e8
mov eax, dword [esi]
test eax, eax
je 0x42f7d0
push eax
call fcn.0040cd00
add esp, 4
jmp 0x42f7d0
push edi
call fcn.0040cd00
add esp, 4
mov eax, ebx
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x94]
call fcn.0044d4a0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov ebx, dword [esp + 0x18]
mov esi, ebx
jmp dword [eax*4 + 0x455b6c]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.0040ccf0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x98]
call fcn.0044d580
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov esi, ebx
mov dword [esp + 0x70], edi
jmp dword [eax*4 + 0x455b74]
mov esi, dword [esp + 0x98]
mov byte [edi + esi], 0
push 0x20
call fcn.0040ccf0
add esp, 4
mov ebx, 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
jmp dword [0x455b7c]
mov ecx, ebx
push esi
push edi
call fcn.00431d40
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
push esi
push edi
call fcn.00431d40
jmp dword [0x455b88]
movzx eax, al
mov dword [esp + 8], 0
mov esi, dword [esp + 0x18]
jmp dword [eax*4 + 0x455b8c]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x20], 0x2d202af1
mov dword [esp + 0x24], 0x2628d831
mov dword [esp + 0x28], 0x2dd5d9ed
mov dword [esp + 0x2c], 0xc0e72c3a
mov dword [esp + 0x30], 0x3acd3020
mov dword [esp + 0x34], 0x3f3feaf9
mov dword [esp + 0x38], 0x35c7383e
mov dword [esp + 0x3c], 0x3dc3c0e5
mov word [esp + 0x40], 0xdb3f
mov dword [esp + 0x42], 0
mov word [esp + 0x46], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
lea esi, [esp + 0x20]
ja 0x42f996
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00433170
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x42f970
mov ecx, ebx
push esi
call fcn.00431f80
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc], edx
jmp dword [ecx*4 + 0x455b94]
mov eax, dword [case.0x42f6c7.10]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x455c1c]
mov ecx, ebx
call fcn.00432120
jmp dword [0x455c28]
jmp dword [0x455ba4]
add eax, 8
mov dword [esp + 8], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x94], ebx
jmp dword [eax*4 + 0x455bac]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x455bac]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov ebp, 0
jne case.default.0x42fa54
mov ebp, dword [edx + 0x10]
mov esi, eax
test eax, eax
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x455bb4]
mov dword [esp + 0x74], edx
mov eax, ebp
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.0x42fa9f
sub ecx, ebp
inc ecx
shr ecx, 1
mov dword [esp + 0x7c], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040ccf0
add esp, 4
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x88], eax
jmp dword [edx*4 + 0x455bbc]
mov byte [eax], cl
inc eax
movsx ecx, byte [edi]
xor ebx, ebx
test ecx, ecx
setne bl
mov ebp, edi
jmp dword [ebx*4 + 0x455bbc]
lea edi, [ebp + 1]
mov ebx, ecx
or ebx, 0x20
add ebx, 0xffffff9f
cmp ebx, 5
ja case.default.0x42faeb
mov ecx, ebx
and ecx, 2
xor ebx, 0xa
lea ecx, [ebx + ecx*2]
movsx ebx, byte [edi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x455bc4]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x42fb17
mov ecx, 0xffffffff
movsx ebx, byte [edi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x455bc4]
shl ecx, 4
add ebp, 2
mov edx, ebx
or edx, 0x20
add edx, 0xffffff9f
cmp edx, 5
ja case.default.0x42fb4c
mov edi, edx
and edi, 2
xor edx, 0xa
lea edx, [edx + edi*2]
or edx, ecx
mov byte [eax], dl
inc eax
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x455bbc]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb case.default.0x42fb7d
mov ebx, 0xffffffff
or ebx, ecx
mov byte [eax], bl
inc eax
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x455bbc]
mov byte [eax], 0
xor ebx, ebx
push 0
push 0x10
push 0
push esi
call fcn.004321c0
add esp, 0x10
mov dword [esp + 0x1c], eax
xor eax, eax
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x14]
cmp edi, ebp
setne al
jmp dword [eax*4 + 0x455bcc]
mov ebx, dword [edi]
xor eax, eax
mov ebp, esi
jmp dword [eax*4 + 0x455bdc]
add edi, 8
xor ecx, ecx
cmp edi, ebp
setne cl
jmp dword [ecx*4 + 0x455bcc]
mov esi, ebp
mov ecx, dword [edi + 4]
mov ebp, ecx
shr ebp, 0x1c
shl ecx, 4
or ecx, 1
xor ebp, edx
xor ecx, dword [esp + 0x1c]
xor eax, eax
or ecx, ebp
sete al
jmp dword [eax*4 + 0x455bd4]
mov eax, 1
mov ebp, esi
jmp dword [eax*4 + 0x455bdc]
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 0x78], ebp
jmp dword [eax*4 + 0x455be4]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x74]
jmp dword [0x455c04]
lea edi, [esp + 0x80]
lea esi, [esp + 0x20]
jmp dword [0x455bf0]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, 0xffffffff
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x42fc60
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
push 0x31f26afb
push dword [0x459d70]
call fcn.0044c760
add esp, 8
mov ecx, esp
push edi
push 1
push 0
push 0
push ecx
push 0
push esi
call eax
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x42fcd0
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
push 0x31f26afb
push dword [0x459d70]
call fcn.0044c760
add esp, 8
mov ecx, esp
push edi
push 1
push 0
push 0
push ecx
push 0
push esi
call eax
jmp dword [0x455bf8]
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x14]
jmp dword [ecx*4 + 0x455bfc]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x74]
jmp dword [0x455c04]
movzx eax, byte [ebx]
test al, al
mov edi, dword [esp + 0x70]
je 0x42fd6d
inc ebx
mov ecx, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x42fd60
jmp 0x42fd71
mov ecx, dword [esp + 0xc]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x80]
test esi, esi
je 0x42fdbf
mov ecx, dword [esp + 0x84]
mov edx, esi
and edx, 3
je 0x42fdc3
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 0x42fda0
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
mov edi, dword [esp + 0x70]
jmp 0x42fdc5
mov esi, eax
jmp 0x42fe09
mov edx, esi
cmp esi, 4
mov esi, ebx
jb 0x42fe09
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 0x42fdd0
mov byte [esi], 0xa
inc esi
mov dword [esp + 0xc], esi
push 0xd80d2c4a
push dword [0x459d58]
call fcn.0044c760
add esp, 8
push dword [esp + 0x84]
call eax
mov al, 1
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x74]
jmp dword [0x455c04]
push dword [esp + 0x88]
call fcn.0040cd00
mov edx, dword [esp + 0x78]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x455bac]
push esi
push 1
push dword [0x459d6c]
push eax
call fcn.00449ba0
add esp, 0x10
mov esi, ebx
jmp dword [0x455b54]
add eax, 8
xor edx, edx
xor ebp, ebp
xor esi, esi
nop
nop
nop
mov eax, dword [eax]
mov ecx, dword [case.0x42f3bd.5]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x455b3c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov ebx, ebp
sub ebx, esi
mov eax, ebx
sar eax, 3
cmp ebp, edx
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
je 0x42fedf
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], esi
jmp 0x42ff71
inc eax
mov ecx, edx
sub ecx, esi
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x42fef3
mov edi, eax
mov eax, edi
or eax, 8
mov ecx, edi
and ecx, 8
imul eax, ecx
mov edx, edi
and edx, 0xfffffff7
xor ecx, 8
imul ecx, edx
add ecx, eax
push ecx
call fcn.0040ccf0
add esp, 4
mov dword [esp + 0x1c], eax
test esi, esi
je 0x42ff60
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 8]
cmp esi, edx
mov ebp, dword [esp + 0x1c]
je 0x42ff53
xor eax, eax
mov ecx, dword [esi + eax]
mov dword [ebp + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebp + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x42ff30
push esi
call fcn.0040cd00
add esp, 4
mov ebp, dword [esp + 0x78]
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + edi*8]
mov dword [esp + 8], eax
add ecx, ebx
mov dword [esp + 0x14], ecx
mov edi, esi
xor edi, ebp
mov eax, ebp
mov ebp, esi
not ebp
and ebp, eax
add ebp, ebp
mov ecx, ebp
sub ecx, edi
mov edx, ecx
mov dword [esp + 0x7c], ecx
cmp ecx, ebx
jae 0x4300a1
mov ecx, dword [esp + 0x10]
lea edx, [esi + ecx*8]
sub edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
lea ebx, [eax + ecx]
add eax, ecx
add eax, 8
mov ecx, edx
cmp edx, 8
jle 0x42fffb
xor ecx, 1
mov dword [esp + 0x10], ecx
lea ecx, [edx + edx]
and ecx, 0xfffffffc
mov esi, edx
and esi, 7
je 0x43003c
add ecx, ebp
sub ecx, edi
sub ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x1c]
neg esi
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ecx + edi]
mov byte [ecx + edi + 8], al
dec edi
cmp esi, edi
jne 0x42ffe0
lea eax, [edi + ecx]
add eax, 8
add ecx, edi
add edx, edi
mov ebx, ecx
jmp 0x430044
shr ecx, 2
mov esi, ebx
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov ecx, edx
not ecx
or ecx, 0xfffffffc
add ecx, edx
add eax, ecx
inc eax
lea esi, [ebx + ecx]
inc esi
mov ebx, edx
and ebx, 3
mov ecx, ebx
shr ecx, 1
mov ebp, esi
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test dl, 1
je 0x4300a1
movzx ecx, byte [esi + ebx - 1]
mov byte [eax + ebx - 1], cl
jmp 0x4300a1
sub ecx, dword [esp + 0x10]
add eax, ecx
add ebx, ecx
neg edx
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
movzx edx, byte [ebx + ecx]
mov byte [eax + ecx], dl
movzx edx, byte [ebx + ecx - 1]
mov byte [eax + ecx - 1], dl
movzx edx, byte [ebx + ecx - 2]
mov byte [eax + ecx - 2], dl
movzx edx, byte [ebx + ecx - 3]
mov byte [eax + ecx - 3], dl
movzx edx, byte [ebx + ecx - 4]
mov byte [eax + ecx - 4], dl
movzx edx, byte [ebx + ecx - 5]
mov byte [eax + ecx - 5], dl
movzx edx, byte [ebx + ecx - 6]
mov byte [eax + ecx - 6], dl
movzx edx, byte [ebx + ecx - 7]
mov byte [eax + ecx - 7], dl
mov edx, esi
add ecx, 0xfffffff8
cmp esi, ecx
jne 0x430050
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov dword [edi + eax], 0
mov dword [edi + eax + 4], 0
mov ebx, 0xffffffff
mov eax, 0xfffffffe
mov ebp, dword [esp + 0x88]
nop
nop
nop
nop
nop
nop
nop
add eax, 2
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x4300d0
and eax, 2
mov esi, ebx
xor esi, 1
add esi, eax
push esi
call fcn.0040ccf0
add esp, 4
mov ecx, dword [esp + 0x7c]
mov dword [edi + ecx], eax
mov ecx, esi
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, esi
and edx, 0xfffffffc
add eax, edx
add edx, ebp
mov ebp, esi
and ebp, 3
mov ecx, ebp
shr ecx, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x78], eax
mov edi, eax
mov eax, dword [esp + 0x10]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, ebp
xor ecx, 0xfffffffe
or ebp, 1
and ebp, ecx
je 0x43014d
and esi, 2
add edx, esi
mov eax, dword [esp + 0x78]
add eax, esi
push ebp
push edx
push eax
call fcn.0040cd20
add esp, 0xc
mov ecx, 0xffffffff
test ebx, ebx
je 0x4301fc
xor eax, eax
nop
nop
nop
nop
mov edx, dword [esp + 0x88]
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 ebp, edi
shl ebp, 0x1d
sar ebp, 0x1f
and ebp, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebp
mov ebp, edi
shl ebp, 0x1b
sar ebp, 0x1f
and ebp, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebp
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 ebx, eax
jne 0x430160
lea eax, [ecx + ecx]
not eax
add eax, ecx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov dword [esi + ecx + 4], eax
mov ebp, dword [esp + 0x14]
add ebp, 8
mov eax, dword [esp + 0x18]
add eax, 4
mov edx, dword [esp + 8]
jmp 0x42fe90
push edi
call fcn.0040cd00
add esp, 4
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x20], 0xe8ebeae5
mov dword [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x430286
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x20]
push dword [esp]
push eax
call fcn.00433230
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x430260
mov eax, dword [0x459d64]
test eax, eax
je 0x4302b8
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, dword [0x459d68]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x4302b0
inc edx
cmp eax, edx
jne 0x4302a0
jmp 0x4302b8
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x4302e2
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
jmp dword [0x455c3c]
mov dword [esp + 8], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x455c44]
mov ebx, dword [esp + 0x18]
jmp dword [0x455c4c]
push esi
push 1
push dword [0x459d6c]
push eax
call fcn.00449ba0
add esp, 0x10
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
jmp dword [0x455c3c]
push ebx
call fcn.0040cd00
add esp, 4
push ebx
call fcn.0040cd00
add esp, 4
jmp dword [0x455c30]
jmp dword [0x455c34]
mov ecx, dword [esp + 0x94]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x455c54]
push dword [esp + 0x7c]
call fcn.0040cd00
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x455cdc]
jmp dword [0x455cf0]
push dword [esp + 0x88]
call fcn.0040cd00
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x455cdc]
mov eax, dword [esp + 0x84]
lea ecx, [eax + ebp]
add ecx, 0x17
test ecx, ecx
jns 0x4309d0
mov eax, 0xffffffff
jmp 0x4309d9
add eax, ebp
lea eax, [eax*2 + 0x2e]
push eax
call fcn.0040ccf0
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x40]
movzx eax, word [eax]
mov ebx, ebp
test ax, ax
je 0x430a11
mov ecx, dword [esp + 0x8c]
mov ebx, ebp
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430a00
mov word [ebx], 0x5c
mov dword [esp + 8], 0x11e21ff0
mov dword [esp + 0xc], 0x15f71381
mov dword [esp + 0x10], 0x98a17f7
mov dword [esp + 0x14], 0xdff0b28
mov dword [esp + 0x18], 0x19f0f98
mov dword [esp + 0x1c], 0x5e10392
mov dword [esp + 0x20], 0x39e1079d
mov dword [esp + 0x24], 0x3da63bd4
mov dword [esp + 0x28], 0x31a83fdb
mov dword [esp + 0x2c], 0x35ae33d7
mov dword [esp + 0x30], 0x29d437d0
mov word [esp + 0x34], 0x2b28
mov dword [esp + 0x36], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x31
ja 0x430ab6
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.004336f0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x32
jb 0x430a90
add ebx, 2
movzx eax, word [edi]
test ax, ax
je 0x430ae1
lea ecx, [edi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430ad0
mov word [ebx], 0
movzx eax, word [esp + 8]
test ax, ax
je 0x430b11
lea ecx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430b00
mov word [ebx], 0
cmp dword [esp + 0x4c], 0xfffffff7
jge 0x430b30
mov esi, 0xffffffff
jmp 0x430b33
add esi, 0x12
push esi
call fcn.0040ccf0
add esp, 4
mov esi, eax
mov dword [esp + 8], 0xf1a20fdd
mov dword [esp + 0xc], 0xf564f357
mov dword [esp + 0x10], 0xf95af753
mov dword [esp + 0x14], 0xfd58fb5c
mov word [esp + 0x18], 0xfffc
lea eax, [esp + 8]
mov byte [eax + 0x14], 0
mov word [eax + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x430bb6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00433740
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x430b90
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x430be1
add edi, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x430bd0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x430c11
lea edx, [esp + 0xa]
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 0x430c00
mov word [eax], 0
mov dword [esp + 8], 0x8f8e89f6
mov byte [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x430c66
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.004337a0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x430c40
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x18]
push eax
push ebp
push esi
push dword [esp + 0x110]
call fcn.00426ac0
add esp, 0x20
mov ebx, eax
jmp dword [0x455ce4]
push dword [esp + 0x44]
call fcn.0040cd00
add esp, 4
push dword [esp + 0xa8]
call fcn.00404d00
add esp, 4
jmp dword [0x455ccc]
mov eax, dword [esp + 0x74]
and al, 1
or al, bl
mov dword [esp + 0x74], eax
jmp dword [0x455cfc]
push ebp
call fcn.0040cd00
add esp, 4
mov ecx, dword [esp + 0x94]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x455c54]
push esi
call fcn.0040cd00
add esp, 4
push esi
call fcn.0040cd00
add esp, 4
jmp dword [0x455cf4]
xor eax, eax
jmp dword [0x455e1c]
lea eax, [esp + 0x7c]
push 0
push eax
push dword [esp + 0x74]
call fcn.0044d4a0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x455d0c]
mov esi, dword [esp + 0x7c]
lea edi, [esi + 1]
mov ebx, dword [case.0x42eff0.153]
nop
nop
nop
push edi
call fcn.0040ccf0
add esp, 4
jmp ebx
push 0
push esi
mov dword [esp + 0x78], eax
push eax
push dword [esp + 0x78]
call fcn.0044d580
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x455d24]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], 0
mov dword [esp + 0x10], 0
mov edi, ecx
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x18], 0xdec6d8de
mov dword [esp + 0x1c], 0xd2cbdcca
mov word [esp + 0x20], 0x1bfd
mov byte [esp + 0x22], 0x3a
lea eax, [esp + 0x23]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x431476
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.004338c0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x431450
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x4314c0
lea eax, [esp + 0x18]
mov ebx, edi
jmp 0x431497
movzx ecx, byte [eax]
test cl, cl
je 0x4314d2
movzx edx, byte [edi]
test dl, dl
je 0x4314d0
inc edi
inc eax
lea esi, [ebx + 1]
cmp dl, cl
je 0x4314ab
mov ebx, esi
mov edi, esi
je 0x431490
lea eax, [esp + 0x18]
jmp 0x431490
mov ebx, edi
jmp 0x4314d2
xor ebx, ebx
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x455d2c]
lea edi, [ebx + 0xa]
mov dword [esp + 0x68], ebx
movzx eax, byte [ebx + 0xa]
xor ebx, ebx
test al, al
je 0x431512
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x431510
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x431500
jmp 0x431512
mov ebx, ecx
mov ecx, ebx
sub ecx, edi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x455d34]
jmp dword [0x455d44]
xor eax, eax
cmp byte [ebx - 1], 0x74
setne al
jmp dword [eax*4 + 0x455d4c]
xor eax, eax
cmp byte [ebx - 2], 0x78
setne al
jmp dword [eax*4 + 0x455d54]
xor eax, eax
cmp byte [ebx - 3], 0x74
setne al
jmp dword [eax*4 + 0x455d5c]
xor eax, eax
cmp byte [ebx - 4], 0x2e
setne al
mov dword [esp + 0x74], ebx
mov dword [esp + 4], edi
jmp dword [eax*4 + 0x455d64]
mov dword [esp + 0x60], ebp
mov dword [esp + 0xc], ecx
lea eax, [ecx*2 + 2]
mov dword [esp + 0x64], eax
jmp dword [0x455d70]
mov esi, dword [esp + 0xc]
mov eax, esi
mov edi, ebx
inc eax
jns 0x4315a9
mov eax, 0xffffffff
jmp 0x4315b0
lea eax, [esi*2 + 2]
push eax
call fcn.0040ccf0
add esp, 4
mov dword [esp + 0x18], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 8], ecx
cmp eax, ecx
jae 0x431623
mov esi, dword [esp + 0x5c]
cmp dword [esp + 4], edi
jae 0x431623
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x431623
lea eax, [esp + 0x18]
push eax
mov ebp, edi
push edi
push ebx
call fcn.00412140
add esp, 0xc
movzx ecx, word [esp + 0x18]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 8]
jae 0x431621
add ebx, eax
mov edi, ebp
cmp ebx, ebp
jb 0x4315f0
jmp 0x431623
mov edi, ebp
mov word [esi], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x6c]
call fcn.0044d160
add esp, 0x14
mov ebx, edi
jmp case.0x43151e.15
mov word [edi], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x20]
push eax
mov esi, dword [esp + 0x18]
push esi
call fcn.0044d160
add esp, 0x14
mov ebx, dword [esp + 0x74]
jmp dword [0x455d74]
mov esi, dword [esp + 0xc]
mov eax, esi
inc eax
mov eax, dword [esp + 0x64]
jns 0x43168c
mov eax, 0xffffffff
push eax
call fcn.0040ccf0
add esp, 4
mov ebp, ebx
test ebx, ebx
jne 0x4316bb
mov ecx, dword [esp + 0x68]
add ecx, 9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ebp, [ecx + 1]
cmp byte [ecx + 1], 0
mov ecx, ebp
jne 0x4316b0
lea esi, [eax + esi*2]
add esi, 2
mov dword [esp + 0x18], 0
add esi, 0xfffffffe
mov edi, eax
mov dword [esp + 8], eax
cmp eax, esi
jae 0x431650
mov edi, dword [esp + 8]
cmp dword [esp + 4], ebp
jae 0x431650
mov edi, dword [esp + 8]
mov ebx, dword [esp + 4]
cmp byte [ebx], 0
je 0x431650
lea eax, [esp + 0x18]
push eax
push ebp
push ebx
call fcn.00412140
add esp, 0xc
movzx ecx, word [esp + 0x18]
mov word [edi], cx
add edi, 2
cmp edi, esi
jae 0x431650
add ebx, eax
cmp ebx, ebp
jb 0x4316f0
jmp 0x431650
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x455d7c]
mov edi, ebx
mov ebp, dword [esp + 0x60]
jmp dword [0x455dbc]
push 0
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x1c]
call fcn.0044d4a0
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x78]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
mov ebp, dword [esp + 0x60]
jmp dword [eax*4 + 0x455d84]
push esi
call fcn.0040ccf0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x20]
call fcn.0044d580
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x455d8c]
mov dword [esp + 0x68], edi
xor ecx, ecx
mov esi, dword [esp + 8]
mov eax, esi
jmp 0x4317b8
add eax, 2
test dx, dx
je 0x4317c9
mov edi, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x4317b0
mov ecx, edi
jmp 0x4317b0
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x455d94]
xor edi, edi
xor eax, eax
mov esi, dword [esp + 0xc]
jmp 0x4317ee
sub edi, esi
sar edi, 1
inc edi
mov esi, dword [esp + 0xc]
mov eax, esi
sub eax, edi
add eax, 0x1b
push eax
call fcn.0040ccf0
add esp, 4
mov ebp, eax
mov dword [esp + 0x18], 0x64669cc1
mov dword [esp + 0x1c], 0x6153696a
mov dword [esp + 0x20], 0x5634116c
mov dword [esp + 0x24], 0x28655068
mov dword [esp + 0x28], 0x4a7a6a4a
mov dword [esp + 0x2c], 0x344e4474
mov word [esp + 0x30], 0x3237
mov byte [esp + 0x32], 0xee
lea eax, [esp + 0x23]
mov byte [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x431886
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00433910
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x431860
movzx ecx, byte [esp + 0x18]
mov eax, ebp
test cl, cl
je 0x4318ab
lea edx, [esp + 0x19]
mov eax, ebp
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 0x4318a0
mov edx, esi
not edx
and edx, edi
mov ecx, edi
not ecx
and ecx, esi
mov dword [esp + 0xc], ecx
mov byte [eax], 0
sub ecx, edx
je 0x4318fd
add dword [esp + 4], edi
mov edi, ecx
and edi, 3
je 0x431901
mov dword [esp + 0x64], ebp
xor esi, esi
mov ebp, dword [esp + 4]
movzx ebx, byte [ebp]
cmp bl, 1
sbb ebp, 0xffffffff
mov byte [eax + esi], bl
inc esi
cmp edi, esi
jne 0x4318d7
mov dword [esp + 4], ebp
add eax, esi
sub ecx, esi
mov esi, eax
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x64]
jmp 0x431901
mov esi, eax
jmp 0x431947
sub edx, dword [esp + 0xc]
cmp edx, 0xfffffffc
mov edi, dword [esp + 4]
ja 0x431947
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
mov byte [eax], dl
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
mov byte [eax + 1], dl
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
mov byte [eax + 2], dl
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], dl
mov eax, esi
add ecx, 0xfffffffc
jne 0x43190e
mov byte [esi], 0
mov ecx, dword [esp + 0x98]
push dword [esp + 0x78]
mov edi, dword [esp + 0x6c]
push edi
push ebp
call fcn.0040d830
mov ecx, dword [esp + 0x10]
and cl, 1
or cl, al
mov dword [esp + 0x10], ecx
mov eax, ebp
mov ebp, dword [esp + 0x60]
jmp dword [0x455d9c]
push eax
call fcn.0040cd00
add esp, 4
jmp dword [0x455da4]
jmp dword [0x455da4]
push edi
call fcn.0040cd00
add esp, 4
mov eax, dword [case.0x43151e.20]
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], 0xe8ebeae5
mov dword [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x4319f6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00433230
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x4319d0
mov eax, dword [0x459d64]
test eax, eax
je 0x431a28
mov ecx, dword [esp + 0x18]
xor edx, edx
mov edi, dword [0x459d68]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x431a20
inc edx
cmp eax, edx
jne 0x431a10
jmp 0x431a28
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x431a54
mov edi, ebx
mov esi, dword [esp + 8]
jmp dword [0x455dbc]
push esi
call fcn.0040cd00
add esp, 4
mov eax, dword [case.0x43151e.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ebx
jmp eax
push esi
push 1
push dword [0x459d6c]
push eax
call fcn.00449ba0
add esp, 0x10
mov edi, ebx
mov esi, dword [esp + 8]
jmp dword [0x455dbc]
jmp dword [0x455de0]
mov esi, dword [esp + 0x70]
jmp dword [0x455df4]
jmp dword [0x455e00]
push esi
call fcn.0040cd00
add esp, 4
nop
push esi
call fcn.0040cd00
add esp, 4
jmp dword [0x455e04]
mov eax, dword [case.0x42eff0.148]
mov ebx, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x18], 0xe8ebeae5
mov dword [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x431b16
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00433230
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x431af0
mov eax, dword [0x459d64]
test eax, eax
je 0x431b48
mov ecx, dword [esp + 0x18]
xor edx, edx
mov edi, dword [0x459d68]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x431b40
inc edx
cmp eax, edx
jne 0x431b30
jmp 0x431b48
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x431b91
mov eax, ebx
and al, 1
jmp dword [0x455e1c]
push ebp
mov esi, eax
call fcn.0040cd00
mov eax, esi
add esp, 4
mov ecx, dword [case.0x42eff0.217]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x455e34]
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x455e40]
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
push 1
push dword [0x459d6c]
push eax
call fcn.00449ba0
add esp, 0x10
mov eax, ebx
and al, 1
jmp dword [0x455e1c]
in eax, 0x42
add byte [esi], dl
jmp 0x455a25
in eax, 0x42
add byte [edi - 0xfffbd1a], bh
in eax, 0x42
add bh, ch
out 0x42, al
add byte [ecx - 0x17], bl
inc edx
add ah, ch
out 0x42, eax
add ah, ch
out 0x42, eax
add dh, bl
out 0x42, eax
add dh, ah
out 0x42, eax
add bh, bl
ljmp 0x42
out dx, eax
inc edx
add byte [eax], al
invalid