Function at 0x42d990
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x458
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x54], 0x41da47d9
mov dword [esp + 0x58], 0x4da143af
mov dword [esp + 0x5c], 0x49984fdb
mov dword [esp + 0x60], 0x75d24ba7
mov dword [esp + 0x64], 0x7176779b
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x11
xor cl, byte [esp + eax + 0x54]
add cl, 0xab
mov byte [esp + eax + 0x54], cl
inc eax
cmp eax, 0x14
jne case.default.0x42bf39
lea esi, [esp + 0x54]
lea ecx, [esp + 0x34]
push esi
call fcn.0043fb50
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44dbf0]
lea ecx, [esp + 0x34]
push 0x410
call fcn.0043fd10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44dbf8]
mov dword [esp + 0x54], 0x1a256c1b
mov dword [esp + 0x58], 0x74163b1c
mov dword [esp + 0x5c], 0xf0527
mov dword [esp + 0x60], 0x1d0a0e23
mov dword [esp + 0x64], 0x7c2d2a1a
mov dword [esp + 0x68], 0x75282e2b
mov dword [esp + 0x6c], 0x7273566e
mov dword [esp + 0x70], 0x7e497059
mov dword [esp + 0x74], 0x5e546e56
mov dword [esp + 0x78], 0x665db36f
mov dword [esp + 0x7c], 0x99ae4747
mov word [esp + 0x80], 0
mov al, 0xd6
movzx ecx, byte [esp + ebx + 0x54]
xor cl, al
mov dl, 0x32
sub dl, cl
mov byte [esp + ebx + 0x54], dl
inc ebx
dec al
cmp ebx, 0x2e
jne case.default.0x42bff9
lea eax, [esp + 0x48]
lea ecx, [esp + 0x34]
push 0
push 0x2b
push esi
push eax
call fcn.00440680
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
xor eax, eax
cmp ebx, esi
sete al
jmp dword [eax*4 + 0x44dc00]
mov eax, esi
sub eax, ebx
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.0040c650
add esp, 4
mov dword [esp + 0x28], 0
xor ecx, ecx
cmp ebx, esi
setne cl
mov dword [esp + 0x24], eax
mov edx, eax
mov dword [esp + 0x2c], esi
jmp dword [ecx*4 + 0x44dc08]
add ebx, 8
xor eax, eax
mov esi, dword [esp + 0x2c]
cmp ebx, esi
setne al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x44dc08]
mov dword [esp + 4], edx
lea edi, [esp + 0x54]
jmp dword [0x44dc1c]
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov esi, dword [ebx + 4]
lea eax, [esp + 0x54]
push 0x400
push 0
push eax
call fcn.0040c760
add esp, 0xc
lea eax, [esp + 0x10]
lea ecx, [esp + 0x34]
push eax
push 0
push 0x400
lea eax, [esp + 0x60]
push eax
push esi
push dword [esp + 0x1c]
call fcn.00440530
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 8], ebx
mov esi, dword [ebx]
mov eax, dword [esp + 8]
mov ebx, dword [eax + 4]
push 0x400
push 0
push edi
call fcn.0040c760
add esp, 0xc
lea eax, [esp + 0x10]
lea ecx, [esp + 0x34]
push eax
push 0
push 0x400
push edi
push ebx
mov ebx, dword [esp + 0x1c]
push esi
call fcn.00440530
jmp dword [0x44dc20]
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 0x10]
or ecx, dword [esp + 0x14]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44dc28]
mov eax, 1
jmp dword [eax*4 + 0x44dc30]
xor eax, eax
jmp dword [eax*4 + 0x44dc30]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je 0x42c171
lea ecx, [esp + 0x54]
cmp al, 0x2e
je 0x42c16f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c160
jmp 0x42c171
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44dc38]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp], edx
je 0x42c1a1
mov ecx, edx
nop
cmp al, 0x2e
je 0x42c19f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c190
jmp 0x42c1a1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp]
jmp dword [eax*4 + 0x44dc40]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x42c1ca
cmp eax, 0x2e
jne 0x42c1cb
dec ecx
mov eax, dword [esp]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x1c], edx
je 0x42c1e1
cmp eax, 0x2e
jne 0x42c1e2
dec ecx
mov dword [esp + 0x44], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c650
add esp, 4
mov dword [esp + 0xc], eax
cmp esi, dword [esp]
je 0x42c2e7
xor edx, edx
mov esi, 2
jmp 0x42c220
mov edx, dword [esp + 0x30]
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x42c2e7
mov dword [esp + 0x20], edx
mov edi, dword [esp]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00422f30
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00422f30
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
jae 0x42c210
mov eax, dword [esp]
movzx eax, byte [eax + esi]
push eax
mov edi, edx
call fcn.00422f30
mov edx, edi
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42c210
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x20]
lea edx, [edi + 2]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xc]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x42c208
mov eax, dword [esp]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00422f30
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x30]
je 0x42c210
shl bl, 6
add al, bl
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
mov byte [edx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x42c210
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0xc]
mov byte [esi + eax], 0
push esi
call fcn.00403af0
add esp, 4
mov ebx, eax
jmp dword [0x44dc48]
push esi
call fcn.0040c660
add esp, 4
push ebx
call fcn.00404430
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x2c]
jmp dword [ecx*4 + 0x44dc50]
jmp 0x42c3d9
mov dword [esp + 0x10], 0x23809493
mov word [esp + 0x14], 0
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0x88
xor dl, byte [esp + ecx + 0x10]
add dl, 0x58
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 6
jne case.default.0x42c36b
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00404380
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44dc58]
mov edx, dword [esp + 4]
jmp 0x42c3a5
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 4]
je 0x42c39b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42c390
mov byte [edx], 0x3a
mov byte [edx + 1], 0x20
add edx, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x42c3cb
lea ecx, [esp + 0x55]
nop
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 0x42c3c0
mov byte [edx], 0xa
inc edx
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 0x28], eax
push ebx
call fcn.004046a0
add esp, 4
mov ebx, dword [esp + 8]
add ebx, 8
xor eax, eax
cmp ebx, esi
setne al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x44dc08]
mov ebx, dword [esp + 0x28]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44dc10]
jmp dword [0x44dc60]
xor edi, edi
test ebx, ebx
jne 0x42c4f7
jmp 0x42c504
mov edi, edx
mov byte [edx], 0
mov dword [esp + 0x54], 0xdd1e1fcf
mov dword [esp + 0x58], 0x21d1d6db
mov dword [esp + 0x5c], 0x2cd826df
mov dword [esp + 0x60], 0xda2ecee9
mov dword [esp + 0x64], 0xd5efd0df
mov dword [esp + 0x68], 0xcbc5ce31
mov dword [esp + 0x6c], 0x31328931
mov dword [esp + 0x70], 0xab3c
mov byte [esp + 0x74], 0
mov eax, 0x1871d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x186c9]
lea esi, [ecx + ecx]
not esi
add esi, ecx
mov edx, eax
or edx, ecx
not ecx
and ecx, esi
lea ebx, [ecx + ecx]
not ebx
add ebx, ecx
and ebx, eax
xor ebx, edx
add bl, 0x6f
mov byte [esp + eax - 0x186c9], bl
inc eax
cmp eax, 0x1873e
jne 0x42c480
mov edx, dword [esp + 0x24]
sub edi, edx
lea eax, [esp + 0x54]
mov ecx, dword [ebp + 8]
push edi
push edx
push eax
call fcn.0040d100
mov ebx, eax
jmp dword [0x44dc60]
push dword [esp + 0x24]
call fcn.0040c660
add esp, 4
nop
nop
nop
jmp dword [0x44dc74]
and bl, 1
mov edi, ebx
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
test ebx, ebx
je 0x42c504
cmp ebx, esi
je 0x42c504
push ebx
call fcn.0040c660
add esp, 4
mov ebx, edi
lea ecx, [esp + 0x34]
call fcn.0043fe30
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edi
jmp dword [0x44dc90]
mov eax, edi
jmp 0x42d86a
mov eax, dword [case.0x42c1ab.19]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
jmp 0x42d537
mov eax, dword [esp + 8]
and al, 1
movzx eax, al
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x10]
jmp dword [eax*4 + 0x44de00]
jmp dword [0x44de08]
mov dword [esp + 0x74], ebx
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0xa8]
call fcn.00445b60
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
xor ebp, ebp
jmp dword [eax*4 + 0x44dcb8]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.0040c650
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xac]
call fcn.00445c30
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44dcc0]
mov esi, dword [esp + 0x80]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c650
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 + 0x7c], eax
mov ecx, eax
push esi
mov dword [esp + 0x70], edi
push edi
call fcn.0042f490
movzx eax, al
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44dcc8]
mov dword [esp + 0x18], 0x9d809af1
mov dword [esp + 0x1c], 0x86988891
mov dword [esp + 0x20], 0x9d95e9dd
mov dword [esp + 0x24], 0xe0c79c8a
mov dword [esp + 0x28], 0x8a9d9080
mov dword [esp + 0x2c], 0x989bf8c9
mov dword [esp + 0x30], 0xb5b0b88d
mov dword [esp + 0x34], 0x7b5
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x18]
mov esi, eax
and esi, 5
mov edx, eax
and edx, 2
mov edi, edx
xor edi, 2
imul edi, esi
or esi, 2
imul esi, edx
mov edx, eax
xor edx, 0x72fd2dc7
add edx, edi
add edx, esi
lea edi, [ecx + ecx]
not edi
add edi, ecx
mov esi, ecx
not esi
or esi, edi
lea edi, [esi + esi]
not edi
add edi, esi
mov ebx, esi
and ebx, 0x71b59ae4
and edi, 0x8e4a651b
or edi, ebx
xor edi, edx
xor edi, 0x8e4a651b
or esi, edx
not esi
or esi, edi
and ecx, esi
not ecx
or ecx, edx
add ecx, esi
mov dl, 0x1b
sub dl, cl
mov byte [esp + eax + 0x18], dl
inc eax
cmp eax, 0x20
jne case.default.0x42c88a
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x18]
push eax
call fcn.0042f6d0
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor ebx, ebx
jmp dword [ecx*4 + 0x44dcd0]
mov edi, dword [esp + 0x6c]
jmp dword [0x44dcf0]
mov dword [esp + 4], ebp
mov ebp, ebx
mov esi, dword [esp + 0x7c]
mov ecx, esi
call fcn.0042f840
push esi
call fcn.0040c660
add esp, 4
jmp dword [0x44dcf8]
mov dword [esp + 4], ebp
mov ebp, ebx
jmp dword [0x44dcf8]
push edi
call fcn.0040c660
add esp, 4
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x18], 0xe0e7e6e5
mov ecx, 0x29
mov edx, 0x5f76abd6
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x11]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
not ebx
mov esi, ebx
and esi, 0x32
or ebx, 0x32
add ebx, esi
inc bl
mov byte [esp + ecx - 0x11], bl
inc ecx
dec edx
cmp ecx, 0x2d
jne 0x42c8f0
mov ecx, dword [0x451ae0]
test ecx, ecx
mov ebx, dword [esp + 0x74]
je 0x42c94c
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x451ae4]
cmp dword [edi + esi*8], 0x7e776f1
je 0x42c940
inc esi
cmp ecx, esi
jne 0x42c930
jmp 0x42c94c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d34c
mov esi, dword [esp + 4]
jmp dword [0x44dd00]
xor eax, eax
cmp ebp, esi
sete al
mov ecx, ebp
jmp dword [eax*4 + 0x44dd08]
mov eax, esi
mov dword [esp + 0x14], ecx
sub eax, ecx
sar eax, 3
mov ecx, eax
and ecx, 0x421
mov edx, eax
or eax, 0x421
imul eax, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add eax, edx
push eax
call fcn.0040c650
add esp, 4
mov dword [esp + 0x70], eax
mov eax, dword [0x451adc]
mov dword [esp + 0x18], 0x235e2105
mov dword [esp + 0x1c], 0x274525bb
mov dword [esp + 0x20], 0x5bc65939
mov dword [esp + 0x24], 0x5fce5d1d
mov dword [esp + 0x28], 0x531651c0
mov dword [esp + 0x2c], 0x57c25535
mov dword [esp + 0x30], 0x4b6f4929
mov dword [esp + 0x34], 0x4f3d4d20
mov dword [esp + 0x38], 0x432741d4
mov dword [esp + 0x3c], 0x47db4525
mov dword [esp + 0x40], 0x7be67914
mov dword [esp + 0x44], 0x7f1d7de3
mov dword [esp + 0x48], 0x73ee7111
mov dword [esp + 0x4c], 0x77e0752a
mov dword [esp + 0x50], 0x6b0c690c
mov dword [esp + 0x54], 0x6d6c
xor ecx, ecx
xor edx, edx
mov ebp, esi
nop
nop
nop
nop
movzx esi, byte [esp + edx + 0x18]
mov edi, ecx
and edi, 0x70
mov ebx, edx
xor ebx, 0x3b2818b8
add ebx, edi
xor ebx, esi
mov esi, ebx
not esi
and esi, 1
add ebx, 0x67
or ebx, 1
add ebx, esi
mov byte [esp + edx + 0x18], bl
inc edx
add ecx, 2
cmp edx, 0x40
jne 0x42ca30
lea ecx, [esp + 0x9c]
push ecx
push 0
push 0
push 0x1e
lea ecx, [esp + 0x28]
push ecx
push 0
call eax
mov edi, dword [esp + 0x9c]
test edi, edi
mov dword [esp + 4], ebp
jns 0x42ca8f
mov eax, 0xffffffff
jmp 0x42ca92
lea eax, [edi + edi]
push eax
call fcn.0040c650
add esp, 4
mov dword [esp + 0x98], eax
mov eax, dword [0x451adc]
mov dword [esp + 0x18], 0xf946fbdf
mov dword [esp + 0x1c], 0xfd5bff69
mov dword [esp + 0x20], 0xf16ef35b
mov dword [esp + 0x24], 0xf566f737
mov dword [esp + 0x28], 0xe92eeb64
mov dword [esp + 0x2c], 0xed7aef4f
mov dword [esp + 0x30], 0xe139e34b
mov dword [esp + 0x34], 0xe553e74c
mov dword [esp + 0x38], 0xd941db70
mov dword [esp + 0x3c], 0xdd4ddf7f
mov dword [esp + 0x40], 0xd14ed370
mov dword [esp + 0x44], 0xd573d741
mov dword [esp + 0x48], 0xc956cb73
mov dword [esp + 0x4c], 0xcd44cf1a
mov dword [esp + 0x50], 0xc158c368
mov dword [esp + 0x54], 0xc7c0
mov esi, 0x9cdd7f7f
mov edx, 0x63228080
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + esi + 0x63228099]
mov ebp, edx
and ebp, 0x42000075
mov ecx, esi
and ecx, 0x8400718a
or ecx, ebp
xor ecx, ebx
lea ebx, [ecx + ecx]
and ebx, 0x8c000108
xor ebx, 0x95180408
mov ebp, ebx
and ebp, ecx
xor ebx, ecx
xor ebx, 0xf1
lea ecx, [ebx + ebp*2]
inc cl
mov byte [esp + esi + 0x63228099], cl
inc esi
dec edx
cmp esi, 0x9cdd7fbf
jne 0x42cb40
lea ecx, [esp + 0x9c]
push ecx
push edi
mov esi, dword [esp + 0xa0]
push esi
push 0x1e
lea ecx, [esp + 0x28]
push ecx
push 0
call eax
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00445820
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x10], ebp
jmp dword [eax*4 + 0x44dd10]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0x80]
call fcn.00445b60
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov esi, ebp
jmp dword [eax*4 + 0x44dd18]
mov edi, dword [esp + 0x8c]
lea esi, [edi + 1]
jmp dword [0x44dd24]
push esi
call fcn.0040c650
add esp, 4
push 0
push edi
push eax
push dword [esp + 0x84]
call fcn.00445c30
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040c650
add esp, 4
mov edi, eax
push 0
push dword [esp + 0x90]
push eax
push dword [esp + 0x84]
call fcn.00445c30
add esp, 0x10
jmp dword [0x44dd2c]
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov esi, ebp
mov ebp, dword [esp + 4]
jmp dword [eax*4 + 0x44dd30]
mov esi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c650
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 + 0x90], eax
mov ecx, eax
push esi
mov dword [esp + 0xc0], edi
push edi
call fcn.0042f490
movzx eax, al
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
jmp dword [eax*4 + 0x44dd38]
mov dword [esp + 0x18], 0x57646e73
mov dword [esp + 0x1c], 0x62546453
mov dword [esp + 0x20], 0x676b7f27
mov dword [esp + 0x24], 0x7c21685a
mov dword [esp + 0x28], 0x1e131424
mov dword [esp + 0x2c], 0x1919765b
mov dword [esp + 0x30], 0x2f191c16
mov dword [esp + 0x34], 0x171d1c7f
mov dword [esp + 0x38], 0xa105
mov byte [esp + 0x3c], 0
mov eax, 0x30
mov ecx, 0xf
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x18]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, 0x94
mov edi, edx
not edi
or edi, 0x6b
add edi, edx
inc edi
or edi, esi
mov esi, ecx
and esi, 0x14
mov edx, eax
and edx, 0x6b
or edx, esi
xor edx, edi
add dl, 0x90
mov byte [esp + eax - 0x18], dl
inc eax
dec ecx
cmp eax, 0x55
jne case.default.0x42cdb2
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x18]
push eax
call fcn.0042f6d0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov edx, dword [esp + 0x70]
mov dword [esp + 0x10], edx
jmp dword [ecx*4 + 0x44dd40]
add eax, 8
mov dword [esp + 8], 0
mov ebx, dword [eax]
xor eax, eax
test ebx, ebx
setne al
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
jmp dword [eax*4 + 0x44dd48]
jmp dword [0x44dd5c]
cmp dword [ebx + 0x18], 3
mov eax, 0
jne 0x42cde0
mov eax, dword [ebx + 0x10]
jmp 0x42cde0
mov esi, dword [ebx]
test eax, eax
mov edx, eax
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44dd60]
mov dword [esp + 0x88], ebx
mov dword [esp + 4], ebp
mov ebx, edx
mov eax, edx
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42ce5b
sub ecx, ebx
inc ecx
shr ecx, 1
mov dword [esp + 0xc0], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c650
add esp, 4
mov edi, dword [case.0x42cf11.0]
movsx ebp, byte [ebx]
xor edx, edx
test ebp, ebp
setne dl
mov dword [esp + 0x94], eax
mov ecx, eax
mov eax, ebx
jmp dword [edx*4 + 0x44dd68]
mov byte [ecx], 0
jmp 0x42ce71
inc esi
movzx ebx, byte [esi]
movzx eax, bl
lea ecx, [eax - 9]
cmp ecx, 5
jb 0x42ce70
cmp eax, 0x20
je 0x42ce70
mov ecx, ebx
add cl, 0xd5
xor eax, eax
test cl, 0xfd
sete al
lea ecx, [esi + eax]
cmp byte [esi + eax], 0x30
jne 0x42ceaf
movzx ecx, byte [esi + eax + 1]
and cl, 0xdf
xor edx, edx
cmp cl, 0x58
sete dl
lea ecx, [eax + edx*2]
add ecx, esi
mov dword [esp], ecx
xor esi, esi
xor edx, edx
xor edi, edi
jmp 0x42cf81
mov ecx, dword [esp + 0xc]
mov byte [ecx], bl
inc ecx
mov eax, dword [esp]
movsx ebp, byte [eax]
xor edx, edx
test ebp, ebp
setne dl
jmp dword [edx*4 + 0x44dd68]
lea edx, [eax + 1]
mov dword [esp], edx
mov ebx, ebp
or ebx, 0x20
lea edx, [ebx - 0x61]
add ebx, 0xffffffa9
add ebp, 0xffffffd0
cmp ebp, 0xa
jb 0x42cef9
mov ebp, 0xffffffff
mov dword [esp + 0xc], ecx
cmp edx, 6
jb case.default.0x42cf11
mov ebx, ebp
mov ecx, dword [esp]
movsx edx, byte [ecx]
xor ecx, ecx
test dl, dl
setne cl
jmp dword [ecx*4 + 0x44dd70]
mov ebp, ebx
shl ebp, 4
add eax, 2
mov dword [esp], eax
mov ebx, edx
or ebx, 0x20
lea eax, [ebx - 0x61]
add ebx, 0xffffffa9
add edx, 0xffffffd0
cmp edx, 0xa
jb 0x42cf3b
mov edx, 0xffffffff
cmp eax, 6
jb 0x42cf42
mov ebx, edx
or ebx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
mov dword [esp + 0xc], 0
xor ecx, ecx
mov dword [esp + 0x6c], 0xffffffff
mov eax, 0xffffffff
mov dword [esp + 0x74], 0x22
mov edx, dword [esp + 0xc]
add edx, dword [esp + 0x6c]
adc ecx, eax
mov esi, dword [esp + 0x74]
mov edi, ecx
mov ebp, edx
mov dword [esp + 0x74], esi
mov ecx, dword [esp]
movsx eax, byte [ecx]
lea edx, [eax - 0x30]
cmp edx, 0xa
jb 0x42cfb6
mov edx, eax
and edx, 0xffffffdf
add edx, 0xffffffbf
cmp edx, 0x19
ja 0x42d076
or al, 0x20
cmp al, 0x66
jg 0x42d076
movsx edx, al
add edx, 0xffffffa9
mov dword [esp + 0xc], edx
inc ecx
mov dword [esp], ecx
mov eax, ebp
and eax, edi
mov edx, 0xffffffff
mov esi, 0x22
mov ecx, edi
mov edi, 0xffffffff
cmp eax, 0xffffffff
je 0x42cf81
mov eax, 0xffffffef
add eax, 0x10
mov edx, 0xfffffff
adc edx, 0
cmp eax, ebp
sbb edx, ecx
jae 0x42d000
mov edx, 0xffffffff
cmp dword [esp + 0xc], 0
jne 0x42cf81
jmp 0x42cf52
mov esi, ecx
mov dword [esp + 0x7c], ecx
mov edi, ebp
and edi, 0x10
mov eax, edi
xor eax, 0x10
mov edx, ebp
mov ecx, 0xffffffef
and edx, ecx
mov ecx, esi
mov esi, ebp
mov ebp, 0xfffffff
and ecx, ebp
imul ecx, eax
mul edx
mov dword [esp + 0x6c], eax
mov ebp, edx
or ebp, ecx
or esi, 0x10
mov eax, esi
mul edi
mov ecx, dword [esp + 0x7c]
imul ecx, edi
or edx, ecx
add eax, dword [esp + 0x6c]
adc edx, ebp
mov edi, dword [esp + 0xc]
mov ecx, edi
sar ecx, 0x1f
mov dword [esp + 0x6c], eax
add edi, eax
mov eax, edx
mov edi, ecx
adc edi, edx
mov edx, 0xffffffff
mov edi, 0xffffffff
mov esi, 0x22
jb 0x42cf81
jmp 0x42cf71
xor esi, esi
mov eax, ebp
neg eax
mov dword [esp], eax
mov edx, 0
sbb edx, edi
cmp bl, 0x2d
je case.default.0x42d09f
mov dword [esp], ebp
mov edx, edi
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 4]
cmp ecx, ebp
setne bl
jmp dword [ebx*4 + 0x44dd88]
mov esi, dword [ecx]
xor edi, edi
mov ebp, eax
jmp dword [edi*4 + 0x44dd98]
add ecx, 8
xor ebx, ebx
cmp ecx, ebp
setne bl
jmp dword [ebx*4 + 0x44dd88]
mov eax, ebp
cmp dword [esp + 0x74], 0x22
setne bl
mov edi, dword [ecx + 4]
mov ebp, edi
shr ebp, 0x1c
xor ebp, edx
shl edi, 4
or edi, 1
xor edi, dword [esp]
or edi, ebp
sete bh
and bh, bl
movzx edi, bh
jmp dword [edi*4 + 0x44dd90]
mov edi, 1
mov ebp, eax
jmp dword [edi*4 + 0x44dd98]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44dda0]
mov eax, dword [case.0x42d09f.12]
mov ebx, dword [esp + 0x88]
jmp case.0x42d09f.10
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, 0xffffffff
mov ebx, dword [esp + 0x88]
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42d1bb
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], esi
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
push 0x31f26afb
push dword [0x451aec]
call fcn.00444eb0
add esp, 8
lea ecx, [esp + 0x80]
push ecx
push 1
push 0
push 0
lea ecx, [esp + 0xb0]
push ecx
push 0
lea ecx, [esp + 0x30]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x10]
jmp dword [ecx*4 + 0x44dda8]
mov eax, dword [case.0x42d09f.12]
jmp case.0x42d09f.10
movzx eax, byte [esi]
test al, al
je 0x42d1eb
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42d1e0
mov byte [edi], 0x3a
mov byte [edi + 1], 0x20
add edi, 2
mov edx, dword [esp + 0x80]
test edx, edx
je 0x42d232
mov eax, dword [esp + 0x84]
mov ecx, edx
and ecx, 3
je 0x42d236
xor esi, esi
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x42d210
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
mov ebx, dword [esp + 0x88]
jmp 0x42d238
mov esi, edi
jmp 0x42d279
mov ecx, edx
cmp edx, 4
jb 0x42d279
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x42d240
mov byte [esi], 0xa
push 0xd80d2c4a
push dword [0x451ad4]
call fcn.00444eb0
add esp, 8
inc esi
push dword [esp + 0x84]
call eax
mov al, 1
mov dword [esp + 8], eax
mov eax, dword [case.0x42d09f.12]
mov dword [esp + 0x10], esi
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44ddc0]
push dword [esp + 0x94]
call fcn.0040c660
add esp, 4
add ebx, 4
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44dd48]
add ebx, 4
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44dd48]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xbc]
jmp dword [0x44ddc8]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x90]
mov ecx, ebx
call fcn.0042f840
push ebx
call fcn.0040c660
add esp, 4
jmp dword [0x44ddd0]
mov dword [esp + 4], ebp
jmp dword [0x44ddd0]
push edi
call fcn.0040c660
add esp, 4
mov eax, dword [case.0x42c88a.17]
mov ebp, dword [esp + 0x70]
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x10], esi
jmp dword [0x44ddec]
push eax
push 1
push dword [0x451ae8]
push ecx
call fcn.004425f0
add esp, 0x10
mov esi, dword [esp + 4]
jmp dword [0x44dd00]
add eax, 8
xor ebx, ebx
mov ecx, dword [eax]
xor eax, eax
mov dword [esp], ecx
test ecx, ecx
setne al
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x44dcd8]
mov ecx, dword [esp]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
mov dword [esp], ecx
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44dcd8]
jmp dword [0x44dce0]
mov eax, dword [esp]
mov edx, dword [eax]
mov edi, ebp
sub edi, ebx
cmp ebp, esi
mov dword [esp + 0x14], ebx
jne 0x42d43a
mov dword [esp + 0xc], edx
mov eax, edi
sar eax, 3
inc eax
mov ecx, esi
sub ecx, ebx
sar ecx, 3
mov ebp, ecx
shr ebp, 1
add ebp, ecx
cmp ebp, eax
ja 0x42d3dd
mov ebp, eax
lea eax, [ebp*8]
push eax
call fcn.0040c650
add esp, 4
mov ebx, eax
mov edx, dword [esp + 0x14]
test edx, edx
je 0x42d42b
cmp edx, esi
je 0x42d422
xor eax, eax
nop
nop
nop
mov ecx, dword [edx + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [edx + eax], 0
lea ecx, [edx + eax]
add ecx, 8
add eax, 8
cmp ecx, esi
jne 0x42d400
push edx
call fcn.0040c660
add esp, 4
lea esi, [ebx + ebp*8]
mov ebp, ebx
add ebp, edi
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0xc]
add edi, ebx
mov ecx, edi
call fcn.00430170
add ebp, 8
mov ebx, dword [esp + 0x14]
jmp case.0x42c88a.3
push edx
call fcn.0040c660
add esp, 4
lea esi, [ebx + ebp*8]
mov ebp, ebx
add ebp, edi
mov edx, dword [esp + 0xc]
add edi, ebx
mov ecx, edi
call fcn.00430170
add ebp, 8
jmp dword [0x44dcec]
mov eax, dword [esp]
mov edx, dword [eax]
mov edi, ebp
sub edi, ebx
cmp ebp, esi
jne 0x42d464
mov dword [esp + 0xc], edx
mov eax, edi
sar eax, 3
inc eax
mov ecx, esi
mov dword [esp + 0x14], ebx
sub ecx, ebx
sar ecx, 3
mov ebp, ecx
shr ebp, 1
add ebp, ecx
cmp ebp, eax
ja 0x42d4a4
mov ebp, eax
lea eax, [ebp*8]
push eax
call fcn.0040c650
add esp, 4
mov ebx, eax
mov edx, dword [esp + 0x14]
test edx, edx
je 0x42d459
cmp edx, esi
je 0x42d450
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edx + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [edx + eax], 0
lea ecx, [edx + eax]
add ecx, 8
add eax, 8
cmp ecx, esi
jne 0x42d4d0
jmp 0x42d450
xor eax, eax
mov ebx, esi
test ecx, ecx
je 0x42d537
cmp ecx, ebx
je 0x42d537
mov ebp, eax
mov esi, ecx
jmp 0x42d517
add esi, 8
cmp esi, ebx
je 0x42d52c
mov eax, dword [esi]
test eax, eax
je 0x42d510
push eax
mov edi, ecx
call fcn.0040c660
mov ecx, edi
add esp, 4
jmp 0x42d510
push ecx
call fcn.0040c660
add esp, 4
mov eax, ebp
add esp, 0xc4
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebp, ebp
xor esi, esi
jmp dword [0x44dd00]
push ebx
call fcn.0040c660
add esp, 4
xor eax, eax
cmp ebp, esi
sete al
mov ecx, ebp
jmp dword [eax*4 + 0x44dd08]
jmp dword [0x44de14]
push ebp
call fcn.0040c660
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.0040c660
add esp, 4
jmp dword [0x44de1c]
mov dword [esp + 0x18], 0xc19cc789
mov dword [esp + 0x1c], 0xcdafc3a4
mov dword [esp + 0x20], 0xc958cf5d
mov dword [esp + 0x24], 0xf5a1cba6
mov dword [esp + 0x28], 0xf192f79d
mov dword [esp + 0x2c], 0xfd63f39d
mov dword [esp + 0x30], 0xf990ff6a
mov dword [esp + 0x34], 0xe593fb93
mov dword [esp + 0x38], 0xe178e7b2
mov dword [esp + 0x3c], 0xed8ce38c
mov word [esp + 0x40], 0xefec
mov dword [esp + 0x42], 0
xor eax, eax
movzx edx, byte [esp + eax + 0x18]
lea esi, [eax - 0x6b35c12f]
lea ecx, [eax*2 + 0x29947da2]
neg ecx
add ecx, eax
add ecx, 0xd0
xor ecx, esi
and ecx, edx
xor ecx, esi
add cl, 0xeb
mov byte [esp + eax + 0x18], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x2e
jb case.default.0x42d656
push 0
lea eax, [esp + 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [esp + 0xac]
push eax
push ebx
call fcn.00445820
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44dcb0]
push edi
call fcn.0040c660
add esp, 4
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x44dca8]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], 0xe0e7e6e5
mov ecx, 0x29
mov edx, 0x5f76abd6
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x11]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
not ebx
mov esi, ebx
and esi, 0x32
or ebx, 0x32
add ebx, esi
inc bl
mov byte [esp + ecx - 0x11], bl
inc ecx
dec edx
cmp ecx, 0x2d
jne 0x42d690
mov ecx, dword [0x451ae0]
test ecx, ecx
je case.0x42d09f.25
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x451ae4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d6e0
inc esi
cmp ecx, esi
jne 0x42d6d0
jmp case.0x42d09f.25
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42d09f.25
push eax
push 1
push dword [0x451ae8]
push ecx
call fcn.004425f0
add esp, 0x10
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], 0xe0e7e6e5
mov ecx, 0x29
mov edx, 0x5f76abd6
movzx esi, byte [esp + ecx - 0x11]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
not ebx
mov esi, ebx
and esi, 0x32
or ebx, 0x32
add ebx, esi
inc bl
mov byte [esp + ecx - 0x11], bl
inc ecx
dec edx
cmp ecx, 0x2d
jne 0x42d710
mov ecx, dword [0x451ae0]
test ecx, ecx
je 0x42d76c
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x451ae4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d760
inc esi
cmp ecx, esi
jne 0x42d750
jmp 0x42d76c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d83c
jmp dword [0x44ddf4]
jmp dword [0x44ddf8]
push dword [esp + 0x98]
call fcn.0040c660
add esp, 4
mov eax, dword [esp + 8]
and al, 1
movzx eax, al
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x10]
jmp dword [eax*4 + 0x44de00]
mov byte [esi], 0
mov eax, ebp
not eax
and eax, esi
add eax, eax
mov dword [esp + 0x18], 0xd3ded989
mov dword [esp + 0x1c], 0xd7a3aad5
mov dword [esp + 0x20], 0xd0d4d2d9
mov dword [esp + 0x24], 0x9eeeb297
mov dword [esp + 0x28], 0x8bade499
mov dword [esp + 0x2c], 0xe197e2ef
mov dword [esp + 0x30], 0xffe2a3e7
mov dword [esp + 0x34], 0x75e0
xor esi, ebp
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0x12
xor dl, byte [esp + ecx + 0x18]
add dl, 0xa6
mov byte [esp + ecx + 0x18], dl
inc ecx
cmp ecx, 0x20
jne 0x42d7f0
sub eax, esi
mov ecx, dword [esp + 0xd8]
push eax
push ebp
lea eax, [esp + 0x20]
push eax
call fcn.0040d100
mov dword [esp + 8], eax
jmp dword [0x44de08]
mov eax, dword [esp + 8]
and al, 1
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x42d4ff
jmp 0x42d537
push eax
push 1
push dword [0x451ae8]
push ecx
call fcn.004425f0
add esp, 0x10
jmp dword [0x44ddf4]
jmp dword [0x44dca0]
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x44dca8]
lea ecx, [eax + 2]
cmp word [eax], 0
jne 0x42daa8
sub eax, edi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x42d886
mov ecx, 0xffffffff
push ecx
call fcn.0040c650
add esp, 4
mov ebx, eax
mov dword [esp + 0x18], 0xb16b8f70
mov dword [esp + 0x1c], 0xb55cb321
mov dword [esp + 0x20], 0xb95db752
mov dword [esp + 0x24], 0xbd46bb51
mov dword [esp + 0x28], 0xa12fbf59
mov dword [esp + 0x2c], 0xa544a34e
mov dword [esp + 0x30], 0xa94fa74f
mov dword [esp + 0x34], 0xad3cab86
mov dword [esp + 0x38], 0x5148af48
mov word [esp + 0x3c], 0x5350
mov dword [esp + 0x3e], 0
mov eax, 0xfd9fcddd
nop
nop
nop
movzx ecx, byte [esp + eax + 0x260323b]
xor ecx, eax
mov edx, ecx
xor edx, 0x49ca538c
and ecx, 0x34158c73
add ecx, ecx
sub ecx, edx
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x3a
mov byte [esp + eax + 0x260323b], cl
inc eax
cmp eax, 0xfd9fce07
jne 0x42d8f0
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x42d951
lea edx, [edi + 2]
mov eax, ebx
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 0x42d940
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x42d981
lea edx, [esp + 0x1a]
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 0x42d970
mov word [eax], 0
mov ecx, edi
jmp dword [0x44dc9c]
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne case.0x42c1ab.21
sub eax, edi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x42d9aa
mov ecx, 0xffffffff
push ecx
call fcn.0040c650
add esp, 4
mov dword [esp + 0x18], 0xb16b8f70
mov dword [esp + 0x1c], 0xb55cb321
mov dword [esp + 0x20], 0xb95db752
mov dword [esp + 0x24], 0xbd46bb51
mov dword [esp + 0x28], 0xa12fbf59
mov dword [esp + 0x2c], 0xa544a34e
mov dword [esp + 0x30], 0xa94fa74f
mov dword [esp + 0x34], 0xad3cab86
mov dword [esp + 0x38], 0x5148af48
mov word [esp + 0x3c], 0x5350
mov dword [esp + 0x3e], 0
mov ecx, 0xfd9fcddd
nop
movzx edx, byte [esp + ecx + 0x260323b]
xor edx, ecx
mov esi, edx
xor esi, 0x49ca538c
and edx, 0x34158c73
add edx, edx
sub edx, esi
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0x3a
mov byte [esp + ecx + 0x260323b], dl
inc ecx
cmp ecx, 0xfd9fce07
jne 0x42da10
movzx ecx, word [edi]
test cx, cx
je 0x42da71
lea edx, [edi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42da60
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x42daa1
lea edx, [esp + 0x1a]
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 0x42da90
mov word [eax], 0
mov ecx, edi
mov eax, ecx
jmp 0x42d86a
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x14
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x10], esp
sub esp, 0x10
mov ebx, esp
sub esp, 0x1c
mov dword [ebp - 0x20], esp
sub esp, 0x20
mov esi, esp
sub esp, 0x18
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x2c], esp
mov ecx, dword [0x451adc]
mov dword [ebp - 0x14], ecx
mov dword [eax], 0xb77789a5
mov dword [eax + 4], 0xb322b524
mov dword [eax + 8], 0xbf5fb17c
mov dword [eax + 0xc], 0xbb5bbd20
mov dword [eax + 0x10], 0xa7a6b995
xor edx, edx
nop
mov ecx, edx
add cl, 0xde
xor cl, byte [eax + edx]
add cl, 0xaa
mov byte [eax + edx], cl
inc edx
cmp edx, 0x14
jne 0x42db20
push dword [ebp - 0x1c]
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x14], eax
jns 0x42db56
mov eax, 0xffffffff
jmp 0x42db58
add eax, eax
push eax
call fcn.0040c650
add esp, 4
mov ecx, dword [0x451adc]
mov dword [ebp - 0x3c], ecx
mov dword [edi], 0x37f73905
mov dword [edi + 4], 0x33c235c4
mov dword [edi + 8], 0xcf2f31ec
mov dword [edi + 0xc], 0xcb2bcd40
mov dword [edi + 0x10], 0xc7c6c9f5
mov byte [edi + 0x16], 0
mov word [edi + 0x14], 0
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x76
xor cl, byte [edi + edx]
add cl, 0xb2
mov byte [edi + edx], cl
inc edx
cmp edx, 0x17
jne 0x42dba0
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push eax
push 9
push edi
push 0
call dword [ebp - 0x3c]
mov dword [ebx], 0x36b0144
mov dword [ebx + 4], 0x7650577
mov dword [ebx + 8], 0xb780967
mov dword [ebx + 0xc], 0xf0e0d68
xor eax, eax
movzx ecx, byte [ebx + eax]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
add ecx, 0xf7295fff
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [ebx + eax], cl
inc eax
cmp eax, 0x10
jne 0x42dbe0
mov eax, ebx
mov edx, dword [ebp - 0x10]
mov edi, edx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x10
add ebx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esi], 0xe31be124
mov dword [esi + 4], 0xe705e517
mov dword [esi + 8], 0xfb08f907
mov dword [esi + 0xc], 0xff3dfd18
mov dword [esi + 0x10], 0xf30cf111
mov dword [esi + 0x14], 0xf704f515
mov dword [esi + 0x18], 0x8b8a8901
mov eax, esi
add eax, 0x1c
mov dword [ebp - 0x1c], eax
mov word [esi + 0x1c], 0
mov byte [esi + 0x1e], 0
mov ecx, 0x6a6fdb28
mov edx, 0xd7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esi + ecx - 0x6a6fdb28]
mov edi, ebx
not edi
or edi, edx
or ebx, ecx
and ebx, edi
add ebx, 0xebd0b837
mov eax, ebx
and eax, 0xc
mov edi, ebx
xor edi, 0x8c
lea eax, [edi + eax*2]
and ebx, 1
or eax, 1
add eax, ebx
add al, 0x74
mov byte [esi + ecx - 0x6a6fdb28], al
inc ecx
dec edx
cmp ecx, 0x6a6fdb47
jne 0x42dc80
mov ecx, 7
mov eax, dword [ebp - 0x20]
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add eax, 0x1c
xor edx, edx
xor ecx, ecx
mov edi, eax
mov eax, dword [ebp - 0x1c]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], 0x97d0b50
mov dword [ebx + 4], 0x57b0785
mov dword [ebx + 8], 0x18c0375
mov dword [ebx + 0xc], 0x1d4e1f7c
mov dword [ebx + 0x10], 0x19441b70
mov eax, ebx
add eax, 0x14
mov word [ebx + 0x14], 0x1718
mov dword [ebx + 0x16], 0
mov word [ebx + 0x1a], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
xor esi, 0x54e9d37c
mov ecx, edx
or ecx, 3
and ecx, esi
mov esi, edx
and esi, 3
add ecx, edx
sub ecx, esi
movzx esi, byte [ebx + edx]
add ecx, 0xab162c83
xor ecx, esi
mov esi, ecx
xor esi, 0x181dd32e
and ecx, 0xe7e22cd1
add ecx, ecx
sub ecx, esi
mov esi, ecx
and esi, 0x70
xor ecx, 0x70
lea ecx, [ecx + esi*2]
add cl, 0x2f
mov byte [ebx + edx], cl
inc edx
cmp edx, 0x1c
jne 0x42dd30
mov edx, dword [ebp - 0x30]
mov edi, edx
mov ecx, 5
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x14
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
nop
nop
nop
nop
push eax
mov dword [ebp - 0x2c], esp
sub esp, 0x14
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x10], esp
sub esp, 0x10
mov esi, esp
sub esp, 0x1c
mov dword [ebp - 0x14], esp
sub esp, 0x20
mov ebx, esp
sub esp, 0x18
mov dword [ebp - 0x18], esp
sub esp, 0x1c
mov dword [ebp - 0x28], esp
sub esp, 0xc
mov dword [ebp - 0x3c], esp
sub esp, 0x20
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x50], esp
sub esp, 0x18
mov dword [ebp - 0x90], esp
sub esp, 8
mov dword [ebp - 0x8c], esp
sub esp, 8
mov dword [ebp - 0x48], esp
sub esp, 0x14
mov dword [ebp - 0x44], esp
sub esp, 0x30
mov dword [ebp - 0x30], esp
sub esp, 0x18
mov dword [ebp - 0x4c], esp
sub esp, 8
mov dword [ebp - 0x9c], esp
mov ecx, dword [0x451adc]
mov dword [ebp - 0x20], ecx
mov dword [eax], 0xb77789a5
mov dword [eax + 4], 0xb322b524
mov dword [eax + 8], 0xbf5fb17c
mov dword [eax + 0xc], 0xbb5bbd20
mov dword [eax + 0x10], 0xa7a6b995
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0xde
xor cl, byte [eax + edx]
add cl, 0xaa
mov byte [eax + edx], cl
inc edx
cmp edx, 0x14
jne 0x42de50
push dword [ebp - 0x2c]
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x24], eax
jns 0x42de90
mov eax, 0xffffffff
jmp 0x42de92
add eax, eax
push eax
call fcn.0040c650
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [0x451adc]
mov dword [edi], 0x37f73905
mov dword [edi + 4], 0x33c235c4
mov dword [edi + 8], 0xcf2f31ec
mov dword [edi + 0xc], 0xcb2bcd40
mov dword [edi + 0x10], 0xc7c6c9f5
mov byte [edi + 0x16], 0
mov word [edi + 0x14], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x76
xor dl, byte [edi + ecx]
add dl, 0xb2
mov byte [edi + ecx], dl
inc ecx
cmp ecx, 0x17
jne 0x42dee0
push dword [ebp - 0x2c]
push dword [ebp - 0x24]
push dword [ebp - 0x20]
push 9
push edi
push 0
call eax
mov dword [esi], 0x36b0144
mov dword [esi + 4], 0x7650577
mov dword [esi + 8], 0xb780967
mov dword [esi + 0xc], 0xf0e0d68
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
add ecx, 0xf7295fff
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esi + eax], cl
inc eax
cmp eax, 0x10
jne 0x42df30
mov eax, esi
mov ecx, 4
mov edx, dword [ebp - 0x10]
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x10
add esi, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [ebx], 0xe31be124
mov dword [ebx + 4], 0xe705e517
mov dword [ebx + 8], 0xfb08f907
mov dword [ebx + 0xc], 0xff3dfd18
mov dword [ebx + 0x10], 0xf30cf111
mov dword [ebx + 0x14], 0xf704f515
mov dword [ebx + 0x18], 0x8b8a8901
mov eax, ebx
add eax, 0x1c
mov dword [ebp - 0x24], eax
mov word [ebx + 0x1c], 0
mov byte [ebx + 0x1e], 0
mov ecx, 0x6a6fdb28
mov edx, 0xd7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebx + ecx - 0x6a6fdb28]
mov eax, esi
not eax
or eax, edx
or esi, ecx
and esi, eax
add esi, 0xebd0b837
mov eax, esi
and eax, 0xc
mov edi, esi
xor edi, 0x8c
lea eax, [edi + eax*2]
and esi, 1
or eax, 1
add eax, esi
add al, 0x74
mov byte [ebx + ecx - 0x6a6fdb28], al
inc ecx
dec edx
cmp ecx, 0x6a6fdb47
jne 0x42dfd0
mov ecx, 7
mov eax, dword [ebp - 0x14]
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add eax, 0x1c
xor edx, edx
mov edi, eax
xor ecx, ecx
mov eax, dword [ebp - 0x24]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x97d0b50
mov dword [ebx + 4], 0x57b0785
mov dword [ebx + 8], 0x18c0375
mov dword [ebx + 0xc], 0x1d4e1f7c
mov dword [ebx + 0x10], 0x19441b70
mov eax, ebx
add eax, 0x14
mov word [ebx + 0x14], 0x1718
mov dword [ebx + 0x16], 0
mov word [ebx + 0x1a], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
xor esi, 0x54e9d37c
mov ecx, edx
or ecx, 3
and ecx, esi
mov esi, edx
and esi, 3
add ecx, edx
sub ecx, esi
movzx esi, byte [ebx + edx]
add ecx, 0xab162c83
xor ecx, esi
mov esi, ecx
xor esi, 0x181dd32e
and ecx, 0xe7e22cd1
add ecx, ecx
sub ecx, esi
mov esi, ecx
and esi, 0x70
xor ecx, 0x70
lea ecx, [ecx + esi*2]
add cl, 0x2f
mov byte [ebx + edx], cl
inc edx
cmp edx, 0x1c
jne 0x42e080
mov ecx, 5
mov edx, dword [ebp - 0x18]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, edx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov ebx, dword [ebp - 0x1c]
jmp dword [0x44de28]
xor edi, edi
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x88], eax
mov eax, ebx
add eax, 2
mov dword [ebp - 0x80], eax
mov esi, dword [ebp - 0x4c]
mov eax, esi
add eax, 0x12
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x44]
mov eax, edx
add eax, 0x10
mov dword [ebp - 0x70], eax
xor eax, eax
mov dword [ebp - 0x40], 0
cmp edi, 0xc
setne al
add esi, 2
mov dword [ebp - 0x84], esi
mov esi, dword [ebp - 0x20]
add esi, 2
add edx, 2
mov dword [ebp - 0x6c], edx
xor edx, edx
mov dword [ebp - 0x68], esi
jmp dword [eax*4 + 0x44de30]
jmp dword [0x44de38]
push dword [ebp - 0x20]
call fcn.0040c660
add esp, 4
mov eax, dword [ebp - 0x40]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + edx]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [eax + edi + 2], 0
lea edi, [edi + 2]
jne 0x42e1d0
mov dword [ebp - 0x14], eax
mov edx, edi
sar edx, 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
lea ecx, [edx + eax]
mov dword [ebp - 0x24], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42e202
mov eax, 0xffffffff
push eax
call fcn.0040c650
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov dword [ebp - 0x10], edx
mov eax, edx
test cx, cx
je 0x42e231
mov eax, dword [ebp - 0x10]
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x42e220
mov word [eax], 0x5c
mov dword [ebx], 0x3ff23984
mov dword [ebx + 4], 0x23853daf
mov dword [ebx + 8], 0x278a2181
mov dword [ebx + 0xc], 0x2b9d25c4
mov dword [ebx + 0x10], 0x2f8f29bc
mov dword [ebx + 0x14], 0x13b72db8
mov word [ebx + 0x18], 0x1110
mov dword [ebx + 0x1a], 0
mov ecx, 0xf0d9e24a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebx + ecx + 0xf261db6]
mov esi, edx
xor esi, ecx
lea ebx, [esi + esi]
not ebx
add ebx, esi
and ebx, ecx
add bl, bl
sub dl, bl
mov ebx, dword [ebp - 0x1c]
movzx edx, dl
add edx, ecx
add dl, 0x8e
mov byte [ebx + ecx + 0xf261db6], dl
inc ecx
cmp ecx, 0xf0d9e268
jne 0x42e280
add eax, 2
mov edx, dword [ebp - 0x14]
movzx ecx, word [edx]
test cx, cx
je 0x42e2e1
add edx, 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 0x42e2d0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x42e320
mov edx, dword [ebp - 0x80]
mov esi, dword [ebp - 0x38]
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 0x42e300
jmp 0x42e323
mov esi, dword [ebp - 0x38]
mov word [eax], 0
push 0x60
push 3
push 0x120089
push esi
push dword [ebp - 0x10]
call fcn.00445820
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44de40]
xor ebx, ebx
mov esi, dword [ebp - 0x10]
jmp dword [0x44de90]
push 0
push dword [ebp - 0x50]
push dword [esi]
call fcn.00445b60
add esp, 0xc
not eax
shr eax, 0x1f
mov ecx, esi
xor ebx, ebx
jmp dword [eax*4 + 0x44de48]
mov eax, dword [ebp - 0x50]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
mov ebx, ecx
call fcn.0040c650
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [ebx]
call fcn.00445c30
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44de50]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov byte [esi + eax], 0
jmp dword [0x44de58]
push esi
call fcn.00403af0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00403af0
add esp, 4
jmp dword [0x44de64]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44de68]
mov ecx, dword [ebp - 0x38]
jmp dword [0x44de88]
push esi
mov esi, ecx
call fcn.0040c660
mov ecx, esi
add esp, 4
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x54], 0xe0e7e6e5
mov esi, 0x29
mov edx, 0x5f76abd6
nop
nop
nop
nop
nop
movzx eax, byte [ebp + esi - 0x7d]
mov ecx, esi
xor ecx, edx
and ecx, eax
xor ecx, edx
not ecx
mov eax, ecx
and eax, 0x32
or ecx, 0x32
add ecx, eax
inc cl
mov byte [ebp + esi - 0x7d], cl
inc esi
dec edx
cmp esi, 0x2d
jne 0x42e420
mov ecx, dword [0x451ae0]
test ecx, ecx
je 0x42e480
mov edx, dword [ebp - 0x54]
xor esi, esi
mov eax, dword [0x451ae4]
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x7e776f1
je 0x42e470
inc esi
cmp ecx, esi
jne 0x42e460
jmp 0x42e480
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x42e782
nop
nop
nop
nop
mov esi, dword [ebp - 0x10]
jmp dword [0x44de90]
jmp dword [0x44de9c]
movzx eax, bl
mov ebx, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x44dea8]
push dword [ebp - 0x18]
push 1
push dword [0x451ae8]
push eax
call fcn.004425f0
add esp, 0x10
mov esi, dword [ebp - 0x10]
jmp dword [0x44de90]
mov dword [ebp - 0x78], eax
push eax
call fcn.00404430
add esp, 4
mov edx, dword [ebp - 0x90]
mov dword [edx], 0xf8f5f6fb
mov dword [edx + 4], 0xefe2ecea
mov dword [edx + 8], 0xf0ecfc22
mov dword [edx + 0xc], 0xe7eae4e2
mov dword [edx + 0x10], 0x1005f5f5
mov dword [edx + 0x14], 0xa21c09
nop
nop
nop
nop
nop
nop
mov ecx, ebx
add cl, 0x6e
xor cl, byte [edx + ebx]
add cl, 0xda
mov byte [edx + ebx], cl
inc ebx
cmp ebx, 0x18
jne 0x42e7e0
push edx
push eax
call fcn.00404570
add esp, 8
mov ebx, eax
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
mov eax, edx
add ecx, 3
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x42e810
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x42e831
cmp eax, 0x2e
jne 0x42e832
dec ecx
mov dword [ebp - 0x58], edi
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [ebp - 0x18], edx
je 0x42e847
cmp eax, 0x2e
jne 0x42e848
dec ecx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x74], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c650
add esp, 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x18], 0
je 0x42e94e
xor edi, edi
mov esi, 2
mov dword [ebp - 0x28], ebx
jmp 0x42e895
mov ecx, dword [ebp - 0x60]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
mov edi, ecx
cmp esi, edx
mov esi, eax
mov ebx, dword [ebp - 0x28]
jae 0x42e94e
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00422f30
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + esi - 1]
push eax
call fcn.00422f30
mov edx, dword [ebp - 0x18]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [ebp - 0x34]
mov byte [ecx + edi], al
lea ecx, [edi + 1]
cmp esi, edx
jae 0x42e880
mov dword [ebp - 0x64], edi
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + esi]
push eax
mov edi, ecx
call fcn.00422f30
mov ecx, edi
mov edx, dword [ebp - 0x18]
add esp, 4
cmp al, 0x40
je 0x42e880
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [ebp - 0x64]
lea ecx, [edi + 2]
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x34]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42e873
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00422f30
mov edx, dword [ebp - 0x18]
add esp, 4
cmp al, 0x40
mov ecx, dword [ebp - 0x60]
je 0x42e880
shl bl, 6
add al, bl
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x64]
mov byte [ecx + edi + 2], al
add edi, 3
mov ecx, edi
jmp 0x42e880
mov eax, dword [ebp - 0x74]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x8c]
mov dword [esi], eax
mov eax, dword [ebp - 0x34]
add eax, 5
mov dword [esi + 4], eax
mov ebx, dword [ebp - 0x48]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x31f26afb
push dword [0x451aec]
call fcn.00444eb0
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44de70]
xor ebx, ebx
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x58]
jmp dword [0x44de80]
mov edi, dword [ebp - 0x58]
lea eax, [edi + 0x10]
cmp dword [ebp - 0x24], 0xfffffff8
jge 0x42e9c3
mov eax, 0xffffffff
push eax
call fcn.0040c650
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx], 0x4faa499b
mov dword [ecx + 4], 0x43904ddc
mov dword [ecx + 8], 0x47ce41d4
mov dword [ecx + 0xc], 0x7b7a45d0
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, 0x17f5c7ed
nop
nop
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ecx]
lea edx, [eax - 0x17f5c700]
mov esi, ecx
not esi
or esi, edx
mov edx, 0x7fffffe
sub edx, esi
sub edx, ecx
mov ebx, eax
or ebx, ecx
add ecx, esi
inc ecx
and ecx, 0x1171c428
and edx, 0x68403d7
or edx, ecx
not ebx
xor edx, 0x68403d7
or edx, ebx
mov ecx, edx
xor ecx, 0xa8
and edx, 0x57
add edx, edx
sub edx, ecx
mov ecx, dword [ebp - 0x18]
add dl, 0x4e
mov byte [ecx], dl
inc ecx
dec eax
cmp eax, 0x17f5c7da
jne 0x42ea00
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax]
mov ebx, dword [ebp - 0x28]
mov eax, ebx
test cx, cx
je 0x42ea91
mov eax, dword [ebp - 0x14]
lea edx, [eax + 2]
mov eax, ebx
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 0x42ea80
mov word [eax], 0
mov ecx, dword [ebp - 0x44]
movzx ecx, word [ecx]
test cx, cx
mov esi, dword [ebp - 0x5c]
je 0x42eac1
mov edx, dword [ebp - 0x6c]
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 0x42eab0
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x48]
push dword [eax]
push dword [eax + 4]
push ebx
call fcn.0040cfd0
mov ecx, ebx
mov ebx, eax
jmp dword [0x44de78]
push ecx
call fcn.0040c660
add esp, 4
push 0xd80d2c4a
push dword [0x451ad4]
call fcn.00444eb0
add esp, 8
mov ecx, dword [ebp - 0x48]
push dword [ecx + 4]
call eax
jmp dword [0x44de80]
push dword [ebp - 0x34]
call fcn.0040c660
add esp, 4
push dword [ebp - 0x78]
call fcn.004046a0
add esp, 4
mov ecx, dword [ebp - 0x38]
jmp dword [0x44de88]