Function at 0x421ef0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

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], 0x299e2b91
mov dword [esp + 0x58], 0x2d892f83
mov dword [esp + 0x5c], 0x31c0339f
mov dword [esp + 0x60], 0x358e379b
mov dword [esp + 0x64], 0x393a3b9f
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x54]
mov edi, eax
and edi, 0xe
mov edx, ecx
xor edx, 0xd77e3f47
add edx, edi
xor edx, esi
mov esi, edx
and esi, 1
xor edx, 1
add edx, 0x9c
or edx, esi
add edx, esi
mov byte [esp + ecx + 0x54], dl
inc ecx
add eax, 2
cmp ecx, 0x14
jne case.default.0x421f98
lea ebx, [esp + 0x54]
lea ecx, [esp + 0x34]
push ebx
call fcn.00434840
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x441cb8]
lea ecx, [esp + 0x34]
push 0x410
call fcn.00434a50
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x441cc0]
mov dword [esp + 0x54], 0x5e771065
mov dword [esp + 0x58], 0x28267d58
mov dword [esp + 0x5c], 0x542d2779
mov dword [esp + 0x60], 0x432a2a75
mov dword [esp + 0x64], 0x386f7642
mov dword [esp + 0x68], 0x4b546a6d
mov dword [esp + 0x6c], 0x46416a4e
mov dword [esp + 0x70], 0x426b445f
mov dword [esp + 0x74], 0x9aa85256
mov dword [esp + 0x78], 0xba9f85a9
mov dword [esp + 0x7c], 0x5f8e9999
mov word [esp + 0x80], 0
mov eax, 0xde
mov ecx, 0x21
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x8a]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xaa
mov byte [esp + eax - 0x8a], dl
inc eax
dec ecx
cmp eax, 0x10c
jne case.default.0x422079
lea eax, [esp + 0x48]
lea ecx, [esp + 0x34]
push 0
push 0x2b
push ebx
push eax
call fcn.00435380
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
xor eax, eax
cmp edi, esi
sete al
mov dword [esp + 0x18], esi
jmp dword [eax*4 + 0x441cc8]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408680
add esp, 4
mov dword [esp + 0x30], 0
xor ecx, ecx
cmp edi, esi
setne cl
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
jmp dword [ecx*4 + 0x441cd0]
add edi, 8
xor eax, eax
mov esi, dword [esp + 0x18]
cmp edi, esi
setne al
jmp dword [eax*4 + 0x441cd0]
mov esi, dword [edi]
mov dword [esp + 0xc], edi
mov edi, dword [edi + 4]
push 0x400
push 0
push ebx
call fcn.00408700
add esp, 0xc
lea eax, [esp + 0x20]
lea ecx, [esp + 0x34]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.00435210
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 0x20]
or ecx, dword [esp + 0x24]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x441ce0]
mov eax, 1
mov edi, dword [esp + 0xc]
jmp dword [eax*4 + 0x441ce8]
xor eax, eax
mov edi, dword [esp + 0xc]
jmp dword [eax*4 + 0x441ce8]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je case.0x422079.12
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42217f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x422170
jmp case.0x422079.12
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x441d00]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp + 4], edx
je 0x4221b1
mov ecx, edx
cmp al, 0x2e
je 0x4221af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4221a0
jmp 0x4221b1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 4]
jmp dword [eax*4 + 0x441d08]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x4221db
cmp eax, 0x2e
jne 0x4221dc
dec ecx
mov eax, dword [esp + 4]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x1c], edx
je 0x4221f3
cmp eax, 0x2e
jne 0x4221f4
dec ecx
mov dword [esp + 0x44], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408680
add esp, 4
mov dword [esp + 0x10], eax
cmp esi, dword [esp + 4]
je 0x422308
xor ebx, ebx
mov esi, 2
jmp 0x422230
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x422308
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 4]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00419280
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00419280
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov byte [edx + ebx], cl
mov ecx, dword [esp + 0x14]
lea ebx, [ecx + 1]
mov edx, dword [esp + 0x1c]
cmp esi, edx
jae 0x422220
mov byte [esp + 3], al
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
push eax
call fcn.00419280
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x422220
mov ch, al
movzx eax, byte [esp + 3]
shl al, 4
mov cl, ch
shr cl, 2
and cl, 0xf
or cl, al
mov edi, dword [esp + 0x14]
lea ebx, [edi + 2]
mov eax, dword [esp + 0x10]
mov byte [eax + edi + 1], cl
lea eax, [esi + 1]
cmp eax, edx
jae 0x422220
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi + 1]
push eax
mov byte [esp + 7], ch
call fcn.00419280
movzx ecx, byte [esp + 7]
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x422220
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x422220
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov ebx, eax
jmp dword [0x441d10]
push esi
call fcn.00408690
add esp, 4
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
jmp dword [0x441d1c]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
jmp dword [0x441d1c]
push ebx
call fcn.00401ac0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00401ac0
add esp, 4
jmp dword [0x441d24]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x441d28]
jmp 0x422429
mov dword [esp + 0x20], 0x3607473
mov word [esp + 0x24], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor byte [esp + ecx + 0x20], cl
inc ecx
cmp ecx, 6
jne case.default.0x4223bf
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.00401880
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x441d30]
mov edx, dword [esp + 8]
jmp 0x4223f5
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 8]
je 0x4223eb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4223e0
mov byte [edx], 0x3a
mov byte [edx + 1], 0x20
add edx, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x42241b
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 0x422410
mov byte [edx], 0xa
inc edx
mov dword [esp + 8], edx
mov al, 1
mov dword [esp + 0x30], eax
push ebx
call fcn.00402070
add esp, 4
add edi, 8
xor eax, eax
cmp edi, esi
setne al
lea ebx, [esp + 0x54]
jmp dword [eax*4 + 0x441cd0]
mov ecx, dword [esp + 0x30]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x441cd8]
jmp dword [0x441d48]
xor ecx, ecx
test edi, edi
jne 0x42254b
jmp case.0x421f98.0
mov eax, dword [esp + 8]
mov byte [eax], 0
mov dword [esp + 0x54], 0x232619c9
mov dword [esp + 0x58], 0x2fd3dadd
mov dword [esp + 0x5c], 0x202c22d9
mov dword [esp + 0x60], 0xd626c2ef
mov dword [esp + 0x64], 0xdbf52cd9
mov dword [esp + 0x68], 0x31cf3237
mov dword [esp + 0x6c], 0x3732f33f
mov word [esp + 0x70], 0xad30
mov dword [esp + 0x72], 0
mov eax, 0x6b59519e
mov ecx, 0x61
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6b59514a]
lea edi, [ecx - 0x60]
and edi, 0x11
mov esi, eax
and esi, 0x495000ee
or esi, edi
mov edi, ecx
or edi, edx
xor esi, 0x11
and esi, eax
not edx
or edx, esi
and edx, edi
mov bl, 0xe9
sub bl, dl
mov byte [esp + eax - 0x6b59514a], bl
inc eax
dec ecx
cmp eax, 0x6b5951c0
jne 0x4224d0
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 8]
sub esi, edx
lea eax, [esp + 0x54]
mov ecx, dword [ebp + 8]
push esi
push edx
push eax
call fcn.00409710
mov ecx, eax
jmp dword [0x441d48]
push dword [esp + 0x2c]
mov esi, ecx
call fcn.00408690
mov ecx, esi
add esp, 4
and cl, 1
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
test edi, edi
je case.0x421f98.0
cmp edi, esi
je case.0x421f98.0
push edi
mov esi, ecx
call fcn.00408690
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x34]
call fcn.00434bc0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0x74]
call fcn.00408690
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x441ed8]
mov ebx, esi
mov esi, ebp
jmp dword [0x441ee0]
push dword [esp + 0x90]
call fcn.00408690
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x441ed8]
mov edi, dword [esp]
jmp dword [0x441ef0]
movzx eax, byte [ebx]
test al, al
mov esi, dword [esp + 0x10]
je 0x42345b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x423450
mov word [esi], 0x203a
add esi, 2
mov edx, dword [esp + 0x88]
test edx, edx
je 0x4234f9
mov ebx, esi
mov eax, dword [esp + 0x8c]
mov ecx, edx
and ecx, 3
je 0x4234b2
mov dword [esp + 0x70], ebp
xor esi, esi
mov ebp, ebx
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [ebp + esi], bl
inc esi
cmp ecx, esi
jne 0x423490
add ebp, esi
mov ecx, edx
sub ecx, esi
mov ebx, ebp
mov esi, ebp
mov ebp, dword [esp + 0x70]
jmp 0x4234b4
mov ecx, edx
cmp edx, 4
jb 0x4234f9
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [ebx + 4]
mov byte [ebx + 3], dl
mov ebx, esi
add ecx, 0xfffffffc
jne 0x4234c0
mov byte [esi], 0xa
inc esi
push 0xbe5098bb
push dword [0x446f38]
call fcn.00439e30
add esp, 8
push dword [esp + 0x8c]
call eax
mov al, 1
mov dword [esp + 4], eax
mov eax, dword [case.0x42274d.78]
mov dword [esp + 0x10], esi
nop
nop
nop
nop
nop
nop
nop
nop
push dword [esp + 0x6c]
call fcn.00408690
add esp, 4
add ebp, 4
mov ebp, dword [ebp]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x441e30]
mov esi, dword [esp + 0x98]
mov ecx, esi
call fcn.00425490
push esi
call fcn.00408690
add esp, 4
jmp dword [0x441ec8]
mov byte [esi], 0
mov dword [esp + 0x14], 0x878281d1
mov dword [esp + 0x18], 0x83fffef5
mov dword [esp + 0x1c], 0x888c8ef1
mov dword [esp + 0x20], 0xea9af6d3
mov dword [esp + 0x24], 0xffd594e1
mov dword [esp + 0x28], 0x99e3e69b
mov dword [esp + 0x2c], 0x9396df9b
mov dword [esp + 0x30], 0x35a8
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x14]
lea ecx, [eax + esi]
lea edx, [eax + 0x44]
and edx, esi
mov edi, edx
and edi, 0x7d
mov esi, edx
or esi, 0xfffffffd
inc esi
imul esi, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
sub esi, edx
lea edx, [ecx + esi]
add ecx, esi
add ecx, 0xab89a744
mov esi, ecx
not esi
or esi, 0xab
add edx, esi
add edx, 0xab89a744
or ecx, 0xab
add ecx, edx
add cl, 2
mov byte [esp + eax + 0x14], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x20
jb 0x423870
mov esi, ebp
mov eax, ebp
mov edx, dword [esp + 8]
sub eax, edx
mov ecx, dword [esp + 0xf4]
push eax
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00409710
mov byte [esi], 0
mov dword [esp + 0x14], 0x878281d1
mov dword [esp + 0x18], 0x83fffef5
mov dword [esp + 0x1c], 0x888c8ef1
mov dword [esp + 0x20], 0xea9af6d3
mov dword [esp + 0x24], 0xffd594e1
mov dword [esp + 0x28], 0x99e3e69b
mov dword [esp + 0x2c], 0x9396df9b
mov dword [esp + 0x30], 0x35a8
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x14]
lea ecx, [eax + esi]
lea edx, [eax + 0x44]
and edx, esi
mov edi, edx
and edi, 0x7d
mov esi, edx
or esi, 0xfffffffd
inc esi
imul esi, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
sub esi, edx
lea edx, [ecx + esi]
add ecx, esi
add ecx, 0xab89a744
mov esi, ecx
not esi
or esi, 0xab
add edx, esi
add edx, 0xab89a744
or ecx, 0xab
add ecx, edx
add cl, 2
mov byte [esp + eax + 0x14], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x20
jb 0x423940
mov esi, ebp
mov eax, ebp
mov edx, dword [esp + 8]
sub eax, edx
mov ecx, dword [esp + 0xf4]
push eax
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00409710
jmp dword [0x441eec]
mov edi, dword [esp]
mov esi, ebx
jmp dword [0x441ef0]
push dword [esp + 8]
mov ebx, eax
call fcn.00408690
mov eax, ebx
add esp, 4
and al, 1
test esi, esi
jne 0x4237ed
jmp fcn.004237e2
push dword [ebp - 0x14]
push 1
push eax
push dword [0x446f4c]
call fcn.00437050
add esp, 0x10
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x10]
jmp dword [0x441f98]
push 0xbe5098bb
push dword [0x446f38]
call fcn.00439e30
add esp, 8
push dword [esi + 4]
call eax
push 0xbe5098bb
push dword [0x446f38]
call fcn.00439e30
add esp, 8
push dword [esi + 4]
call eax
jmp dword [0x441f44]
mov eax, dword [case.0x4241c4.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebx, dword [ebp - 0xa4]
jmp dword [0x441f58]
push dword [ebp - 0x28]
call fcn.00408690
add esp, 4
push dword [ebp - 0xa0]
call fcn.00402070
add esp, 4
mov eax, dword [case.0x422079.147]
mov ecx, dword [ebp - 0x10]
nop
jmp eax
mov dword [ebp - 0x10], ecx
mov eax, dword [case.0x4241c4.21]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x4c], ecx
mov esi, dword [eax + ecx]
xor eax, eax
nop
nop
nop
nop
nop
cmp word [esi + eax], 0
lea eax, [eax + 2]
jne 0x423e20
lea ecx, [esi + eax]
add ecx, 0xfffffffe
mov edx, esi
not edx
and edx, ecx
add eax, esi
mov ecx, 1
sub ecx, eax
and ecx, esi
sub edx, ecx
mov dword [ebp - 0x78], edx
sar edx, 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
lea ecx, [edx + eax]
mov dword [ebp - 0x74], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x423e68
mov eax, 0xffffffff
mov dword [ebp - 0x1c], esi
push eax
call fcn.00408680
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x423ea1
mov edx, dword [ebp - 0x68]
mov eax, esi
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 0x423e90
mov dword [ebp - 0x18], esi
mov word [eax], 0x5c
mov dword [edi], 0xcf72c964
mov dword [edi + 4], 0xc365cd5f
mov dword [edi + 8], 0xc75ac161
mov dword [edi + 0xc], 0xbb0dc524
mov dword [edi + 0x10], 0xbf1fb92c
mov dword [edi + 0x14], 0xb317bd28
mov word [edi + 0x18], 0xb1b0
mov ecx, dword [ebp - 0xb0]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x32
mov edx, 0x27ae37cd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x2c]
movzx edi, byte [esi + ecx - 0x32]
mov ebx, ecx
and ebx, edi
lea esi, [edi + edi]
not esi
add esi, edi
mov edi, dword [ebp - 0x2c]
and esi, edx
or esi, ebx
lea ebx, [esi + esi]
not ebx
add ebx, esi
add bl, 6
mov byte [edi + ecx - 0x32], bl
inc ecx
dec edx
cmp ecx, 0x51
jne 0x423f00
add eax, 2
mov ebx, dword [ebp - 0x1c]
movzx ecx, word [ebx]
test cx, cx
je 0x423f51
lea edx, [ebx + 2]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423f40
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
mov esi, dword [ebp - 0x18]
je 0x423f81
mov edx, dword [ebp - 0x3c]
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 0x423f70
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x38]
push esi
call fcn.0043aa80
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441f08]
xor ebx, ebx
jmp dword [0x441f98]
push esi
call fcn.00408690
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x441fa0]
push 0
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
push dword [eax]
call fcn.0043ae20
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x10], 0
jmp dword [eax*4 + 0x441f10]
mov eax, dword [ebp - 0x40]
mov esi, dword [eax]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.00408680
add esp, 4
mov ebx, eax
push 0
push esi
push eax
mov eax, dword [ebp - 0x38]
push dword [eax]
call fcn.0043af00
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x441f18]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov byte [ebx + eax], 0
push ebx
call fcn.00401000
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x441f20]
xor ecx, ecx
mov eax, dword [case.0x422079.147]
jmp case.0x4241c4.14
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], eax
push eax
call fcn.00401ac0
add esp, 4
mov edi, dword [ebp - 0x7c]
mov dword [edi], 0xb8b5b6bb
mov dword [edi + 4], 0xafa2acaa
mov dword [edi + 8], 0xb0acbce2
mov dword [edi + 0xc], 0xa7aaa4a2
mov dword [edi + 0x10], 0x9085b5b5
mov word [edi + 0x14], 0x9c89
mov byte [edi + 0x16], 0xe2
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], 0
mov byte [ecx + 4], 0
xor ecx, ecx
movzx esi, byte [edi + ecx]
mov edx, ecx
neg edx
lea edi, [edx + edx]
and edi, 0xf0a0a64
xor edx, 0x787afacd
sub edx, edi
mov edi, dword [ebp - 0x7c]
mov ebx, 0xfe
sub ebx, edx
inc edx
xor ebx, edx
and ebx, esi
xor ebx, edx
add bl, 0xfa
mov byte [edi + ecx], bl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0x1c
jb 0x4240b0
push edi
push eax
call fcn.00401e80
add esp, 8
mov ecx, eax
mov esi, eax
neg esi
dec esi
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x424100
mov eax, esi
not eax
and esi, ecx
mov ebx, ecx
not ebx
and ebx, eax
mov eax, ebx
sub eax, esi
lea edx, [eax + eax*2]
shr edx, 2
mov dword [ebp - 0x24], eax
movzx eax, byte [ecx + eax - 1]
cmp eax, 0x3d
je 0x424131
cmp eax, 0x2e
jne 0x424132
dec edx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x24]
movzx eax, byte [ecx + eax - 2]
cmp eax, 0x3d
mov edi, dword [ebp - 0x2c]
je 0x42414a
cmp eax, 0x2e
jne 0x42414b
dec edx
mov dword [ebp - 0x9c], edx
lea eax, [edx + 1]
push eax
call fcn.00408680
add esp, 4
mov dword [ebp - 0x28], eax
cmp ebx, esi
jne case.default.0x4241c4
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x98]
mov dword [esi], eax
mov eax, dword [ebp - 0x28]
add eax, 5
mov dword [esi + 4], eax
mov ebx, dword [ebp - 0x58]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x14e20a34
push dword [0x446f50]
call fcn.00439e30
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
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x441f28]
mov eax, dword [ebp - 0x78]
add eax, 0x10
cmp dword [ebp - 0x74], 0xfffffff8
jge 0x4241dc
mov eax, 0xffffffff
push eax
call fcn.00408680
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0xff1af92b
mov dword [eax + 4], 0xe330fd6c
mov dword [eax + 8], 0xe77ee174
mov dword [eax + 0xc], 0xebeae570
mov word [eax + 0x10], 0
xor eax, eax
nop
nop
mov ecx, eax
not ecx
or ecx, 0x32570baa
add ecx, eax
inc ecx
mov edx, ecx
and edx, 0xfd
mov esi, ecx
and esi, 2
or ecx, 2
imul ecx, esi
xor esi, 2
imul esi, edx
mov edx, eax
xor edx, 0xaa
add edx, ecx
add edx, esi
mov esi, dword [ebp - 0x6c]
xor dl, byte [esi + eax]
add dl, 0xae
mov byte [esi + eax], dl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x12
jb 0x424210
movzx ecx, word [ebx]
mov eax, dword [ebp - 0x10]
test cx, cx
je 0x424281
lea edx, [ebx + 2]
mov eax, dword [ebp - 0x10]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424270
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
mov esi, dword [ebp - 0x58]
je 0x4243a8
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x10]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4242a0
jmp 0x4243ab
xor ecx, ecx
mov esi, 2
jmp 0x4242e0
mov ecx, dword [ebp - 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x424168
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp - 0x48]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00419280
add esp, 4
mov byte [ebp - 0x14], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00419280
add esp, 4
mov bh, al
movzx ecx, byte [ebp - 0x14]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x10]
mov byte [ecx + edx], al
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x24]
cmp esi, edx
jae 0x4242d0
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + esi]
push eax
mov dword [ebp - 0x14], ecx
call fcn.00419280
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
add esp, 4
cmp al, 0x40
je 0x4242d0
shl bh, 4
mov byte [ebp - 0x1d], al
shr al, 2
and al, 0xf
or al, bh
mov ebx, dword [ebp - 0x10]
lea ecx, [ebx + 2]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x28]
mov byte [ecx + ebx + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x4242bf
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00419280
mov edx, dword [ebp - 0x24]
add esp, 4
cmp al, 0x40
mov ecx, dword [ebp - 0x14]
mov ah, byte [ebp - 0x1d]
je 0x4242d0
shl ah, 6
add al, ah
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x10]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov ecx, ebx
jmp 0x4242d0
mov ebx, dword [ebp - 0x10]
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esi]
push dword [esi + 4]
push ebx
call fcn.00409550
mov dword [ebp - 0x10], eax
jmp dword [0x441f30]
push ebx
call fcn.00408690
add esp, 4
jmp dword [0x441f3c]
jmp dword [0x441f3c]
jmp dword [0x441f80]
jmp dword [0x441f8c]
push ebx
call fcn.00408690
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00408690
add esp, 4
jmp dword [0x441f94]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x94], 0xb08f8e8d
mov byte [ebp - 0x90], 0
mov ecx, 0x6a7cec5d
mov edx, 0x958313a2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ebp + ecx - 0x6a7cecf1]
mov esi, edx
xor esi, eax
lea ebx, [edx + 0x6a7ced00]
and ebx, eax
not eax
and eax, edx
sub eax, esi
add eax, ecx
or eax, ebx
add al, 0x2f
mov byte [ebp + ecx - 0x6a7cecf1], al
inc ecx
dec edx
cmp ecx, 0x6a7cec62
jne 0x424440
mov ecx, dword [0x446f44]
test ecx, ecx
je 0x4244b0
mov edx, dword [ebp - 0x94]
xor esi, esi
mov eax, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0xb62b8d10
je 0x4244a0
inc esi
cmp ecx, esi
jne 0x424490
jmp 0x4244b0
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x423d56
nop
nop
nop
nop
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x10]
jmp dword [0x441f98]
movzx eax, bl
jmp dword [eax*4 + 0x441fa0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov edi, dword [ebp - 0x74]
lea ecx, [edi + eax]
lea edx, [edi + eax]
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x4244e7
mov eax, 0xffffffff
push eax
call fcn.00408680
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax]
mov dword [ebp - 0x18], edx
mov eax, edx
test cx, cx
mov esi, dword [ebp - 0xac]
mov ebx, dword [ebp - 0x1c]
je 0x424531
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424520
mov word [eax], 0x5c
mov dword [esi], 0x63de61cc
mov dword [esi + 4], 0x67c565fb
mov dword [esi + 8], 0x5bc659f9
mov dword [esi + 0xc], 0x5fed5dbc
mov dword [esi + 0x10], 0x53cd51c4
mov dword [esi + 0x14], 0x57f755c6
mov dword [esi + 0x18], 0x4bef49ef
mov dword [esi + 0x1c], 0x4fd24de0
mov dword [esi + 0x20], 0x43d441e5
mov dword [esi + 0x24], 0x47da45e1
mov dword [esi + 0x28], 0x3b98399c
mov dword [esi + 0x2c], 0x3d3c
xor ecx, ecx
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x98
xor dl, byte [esi + ecx]
add dl, 8
mov byte [esi + ecx], dl
inc ecx
cmp ecx, 0x30
jne 0x424590
add eax, 2
movzx ecx, word [ebx]
test cx, cx
je 0x4245d1
lea edx, [ebx + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4245c0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x424601
mov edx, dword [ebp - 0x64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4245f0
mov word [eax], 0
mov eax, dword [ebp - 0x78]
add eax, 0x12
cmp edi, 0xfffffff7
jge 0x424616
mov eax, 0xffffffff
push eax
call fcn.00408680
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x50]
mov dword [eax], 0x13a611e7
mov dword [eax + 4], 0xef60ed51
mov dword [eax + 8], 0xeb5ee955
mov dword [eax + 0xc], 0xe744e558
mov dword [eax + 0x10], 0xe1e0
mov eax, 0x90fc28fc
mov ecx, 0x6f03d703
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x50]
movzx edx, byte [edx + eax + 0x6f03d704]
mov ebx, edx
xor ebx, eax
or ebx, ecx
not ebx
add ebx, ebx
lea edi, [ecx - 0x6f03d700]
and edi, ebx
xor ebx, eax
add edi, edi
sub ebx, edi
add bl, dl
mov edx, dword [ebp - 0x50]
add bl, 0x14
mov byte [edx + eax + 0x6f03d704], bl
inc eax
dec ecx
cmp eax, 0x90fc2910
jne 0x424660
mov esi, dword [ebp - 0x1c]
movzx ecx, word [esi]
mov ebx, dword [ebp - 0x10]
mov eax, ebx
test cx, cx
je 0x4246c1
add esi, 2
mov eax, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x4246b0
mov word [eax], 0
movzx ecx, word [edx]
test cx, cx
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0xa8]
je 0x4246f1
mov edx, dword [ebp - 0x60]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4246e0
mov word [eax], 0
mov dword [esi], 0xfffef9d6
mov word [esi + 4], 0
mov eax, 0x89188c2a
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x76e773d6]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x2e
mov byte [esi + eax + 0x76e773d6], cl
inc eax
cmp eax, 0x89188c30
jne 0x424710
push 0
push 0
push 0xc00000
push esi
push dword [ebp - 0x18]
push ebx
push dword [ebp + 8]
call fcn.0041cac0
add esp, 0x1c
mov ecx, dword [ebp - 0x44]
and cl, 1
or cl, al
mov dword [ebp - 0x44], ecx
jmp dword [0x441fa8]
push ebx
call fcn.00408690
add esp, 4
jmp dword [0x441fb0]
jmp dword [0x441fb0]
push dword [ebp - 0x18]
call fcn.00408690
add esp, 4
mov eax, dword [case.0x4241c4.30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x4241c4.42]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [ebp - 0x4c]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x441ef8]
mov esi, dword [ebp - 0x30]
jmp dword [0x441f00]
jmp dword [0x441fd8]
push esi
call fcn.00408690
add esp, 4
nop
push esi
call fcn.00408690
add esp, 4
jmp dword [0x441fe0]
jmp dword [0x441fec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x441ff0]
mov eax, dword [ebp - 0x44]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
jmp dword [0x4420d0]
mov dword [esp + 0x70], ebp
lea eax, [esp + 0x28]
push 0
push eax
push dword [esp + 0x28]
call fcn.0043ae20
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x442000]
jmp dword [0x442008]
mov esi, dword [esp + 0x28]
lea eax, [esi + 1]
push eax
call fcn.00408680
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x2c]
call fcn.0043af00
add esp, 0x10
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x28]
lea eax, [esi + 1]
push eax
call fcn.00408680
add esp, 4
mov ebp, eax
push 0
push esi
push eax
push dword [esp + 0x2c]
call fcn.0043af00
add esp, 0x10
jmp dword [0x442010]
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x442018]
jmp dword [0x4420c8]
push ebp
call fcn.00408690
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], 0xb08f8e8d
mov byte [esp + 0x30], 0
mov ecx, 0x6a7cec5d
mov edx, 0x958313a2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x6a7cec31]
mov esi, edx
xor esi, ebx
lea edi, [edx + 0x6a7ced00]
and edi, ebx
not ebx
and ebx, edx
sub ebx, esi
add ebx, ecx
or ebx, edi
add bl, 0x2f
mov byte [esp + ecx - 0x6a7cec31], bl
inc ecx
dec edx
cmp ecx, 0x6a7cec62
jne 0x424a80
mov ecx, dword [0x446f44]
test ecx, ecx
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + 0x10]
je 0x424aec
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [0x446f48]
cmp dword [edi + esi*8], 0xb62b8d10
je 0x424ae0
inc esi
cmp ecx, esi
jne 0x424ad0
jmp 0x424aec
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42509e
and bl, 1
jmp dword [0x4420d0]
jmp dword [0x4420d8]
mov eax, dword [esp + 0x28]
mov byte [ebp + eax], 0
mov dword [esp + 0x10], 0
mov esi, ebp
nop
nop
mov dword [esp + 0x2c], 0x61e1806
mov dword [esp + 0x30], 0x21b041a
mov word [esp + 0x34], 0xdb35
mov byte [esp + 0x36], 0xfa
mov dword [esp + 0x37], 0
mov eax, 8
mov ecx, 0x57
nop
nop
mov edi, ecx
and edi, 0x47
mov edx, eax
and edx, 0x18
or edx, edi
xor dl, byte [esp + eax + 0x24]
xor dl, 0xe7
add dl, 0xb8
mov byte [esp + eax + 0x24], dl
inc eax
dec ecx
cmp eax, 0x17
jne 0x424b40
movzx ecx, byte [esp + 0x2c]
test cl, cl
je 0x424bb0
lea eax, [esp + 0x2c]
mov ebx, esi
jmp 0x424b87
movzx ecx, byte [eax]
test cl, cl
je 0x424bc2
movzx edx, byte [esi]
test dl, dl
je 0x424bc0
inc esi
inc eax
lea edi, [ebx + 1]
cmp dl, cl
je 0x424b9b
mov ebx, edi
mov esi, edi
je 0x424b80
lea eax, [esp + 0x2c]
jmp 0x424b80
mov ebx, esi
jmp 0x424bc2
xor ebx, ebx
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x442020]
jmp dword [0x442034]
lea esi, [ebx + 0xa]
movzx eax, byte [ebx + 0xa]
xor edi, edi
test al, al
je 0x424bd0
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x424c00
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x424bf0
jmp 0x424bd0
mov edi, ecx
jmp dword [0x442034]
mov ecx, edi
sub ecx, esi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x442038]
xor eax, eax
cmp byte [edi - 1], 0x74
setne al
jmp dword [eax*4 + 0x442040]
xor eax, eax
cmp byte [edi - 2], 0x78
setne al
jmp dword [eax*4 + 0x442058]
xor eax, eax
cmp byte [edi - 3], 0x74
setne al
jmp dword [eax*4 + 0x442060]
xor eax, eax
cmp byte [edi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x442068]
mov dword [esp + 4], ecx
jmp dword [0x442070]
mov eax, dword [esp + 8]
jmp dword [0x4420b8]
mov esi, edi
jmp dword [0x4420c0]
xor edx, edx
mov ecx, dword [esp + 0xc]
jmp 0x424c88
add ecx, 2
test ax, ax
je 0x424c9b
mov dword [esp], edx
movzx eax, word [ecx]
mov edx, ecx
cmp ax, 0x5c
je 0x424c80
mov edx, dword [esp]
jmp 0x424c80
xor eax, eax
mov edx, dword [esp]
test edx, edx
setne al
jmp dword [eax*4 + 0x4420a8]
mov dword [esp + 0x18], 0
xor eax, eax
jmp 0x424cd5
mov eax, edx
mov ecx, dword [esp + 0xc]
xor eax, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
sar ecx, 1
inc ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x18], ecx
sub eax, ecx
add eax, 0x1b
push eax
call fcn.00408680
add esp, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 0x2c], 0x4060c21
mov dword [esp + 0x30], 0x133191a
mov dword [esp + 0x34], 0x1634711c
mov dword [esp + 0x38], 0x58051018
mov dword [esp + 0x3c], 0x1a0a1a3a
mov dword [esp + 0x40], 0x541e2414
mov word [esp + 0x44], 0x5257
mov byte [esp + 0x46], 0x7e
mov dword [esp + 0x47], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x2c]
mov dword [esp], ecx
mov ecx, eax
and ecx, 0x1a
xor ecx, 0x515e709a
mov edx, eax
and edx, 5
sub edx, ecx
mov ecx, dword [esp]
and ecx, edx
add ecx, ecx
sub edx, ecx
add dl, byte [esp]
add dl, 2
mov byte [esp + eax + 0x2c], dl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x1f
jb 0x424d40
movzx ecx, byte [esp + 0x2c]
mov eax, dword [esp + 0x24]
test cl, cl
je 0x424dab
lea edx, [esp + 0x2d]
mov eax, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424da0
mov byte [eax], 0
mov ecx, dword [esp + 4]
test ecx, ecx
mov edx, dword [esp + 0x18]
je 0x424de6
add esi, edx
and ecx, 3
je 0x424dea
mov dword [esp], ecx
xor ecx, ecx
movzx edx, byte [esi]
cmp dl, 1
sbb esi, 0xffffffff
mov byte [eax + ecx], dl
inc ecx
cmp dword [esp], ecx
jne 0x424dc6
add eax, ecx
sub dword [esp + 4], ecx
mov ecx, eax
mov edx, dword [esp + 0x18]
jmp 0x424dea
mov ecx, eax
jmp 0x424e37
add edx, ebx
mov ebx, edx
mov edx, edi
sub edx, ebx
add edx, 0xfffffff5
cmp edx, 3
mov ebx, dword [esp + 4]
jb 0x424e37
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [esi]
cmp dl, 1
sbb esi, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add ebx, 0xfffffffc
jne 0x424dfe
mov byte [ecx], 0
mov ecx, dword [esp + 0xcc]
push dword [esp + 0x1c]
push dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
push esi
call fcn.00409710
mov ecx, dword [esp + 0x10]
and cl, 1
or cl, al
mov dword [esp + 0x10], ecx
jmp dword [0x4420b0]
push esi
call fcn.00408690
add esp, 4
mov eax, dword [esp + 8]
jmp dword [0x4420b8]
push eax
call fcn.00408690
add esp, 4
jmp case.0x4241c4.88
mov edx, ecx
inc edx
lea eax, [ecx + ecx + 2]
jns 0x424e95
mov eax, 0xffffffff
push eax
mov dword [esp + 4], edx
call fcn.00408680
add esp, 4
mov dword [esp + 0xc], eax
push edi
push esi
push dword [esp + 8]
push eax
call fcn.0040ada0
add esp, 0x10
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call fcn.0043aa80
mov ecx, dword [esp + 0x18]
add esp, 0x14
jmp dword [0x44207c]
mov eax, ecx
inc eax
mov dword [esp + 0xc], eax
lea eax, [ecx + ecx + 2]
jns 0x424eeb
mov eax, 0xffffffff
push eax
call fcn.00408680
add esp, 4
mov dword [esp], eax
push edi
push esi
push dword [esp + 0x14]
push eax
call fcn.0040ada0
add esp, 0x10
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x10]
call fcn.0043aa80
add esp, 0x14
mov ecx, dword [esp + 4]
jmp case.0x4241c4.82
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442080]
push 0
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call fcn.0043ae20
add esp, 0xc
test eax, eax
setns al
mov edx, dword [esp + 0x1c]
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x442088]
mov eax, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 0x2c], 0xb08f8e8d
mov byte [esp + 0x30], 0
mov ecx, 0x6a7cec5d
mov edx, 0x958313a2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x6a7cec31]
mov esi, edx
xor esi, ebx
lea eax, [edx + 0x6a7ced00]
and eax, ebx
not ebx
and ebx, edx
sub ebx, esi
add ebx, ecx
or ebx, eax
add bl, 0x2f
mov byte [esp + ecx - 0x6a7cec31], bl
inc ecx
dec edx
cmp ecx, 0x6a7cec62
jne 0x424f90
mov ecx, dword [0x446f44]
test ecx, ecx
je 0x425007
mov edx, dword [esp + 0x2c]
xor esi, esi
mov ebx, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0xb62b8d10
je 0x424fff
inc esi
cmp ecx, esi
jne 0x424fe0
jmp 0x425007
mov dword [esp], edx
jmp dword [0x442094]
mov dword [esp + 8], edx
jmp 0x42503e
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x425022
mov esi, edi
jmp dword [0x4420c0]
push dword [esp + 0xc]
call fcn.00408690
add esp, 4
mov esi, edi
jmp case.0x4241c4.69
push dword [esp]
push 1
push ecx
push dword [0x446f4c]
call fcn.00437050
add esp, 0x10
mov esi, edi
jmp dword [0x4420c0]
push edx
call fcn.00408680
add esp, 4
push 0
push dword [esp + 0xc]
mov dword [esp + 0x10], eax
push eax
push dword [esp + 0x20]
call fcn.0043af00
mov edx, dword [esp + 0x10]
add esp, 0x10
jmp dword [0x442098]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4420a0]
push edx
call fcn.00408680
add esp, 4
push 0
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call fcn.0043af00
mov edx, dword [esp + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
jmp 0x42503e
push eax
push 1
push ecx
push dword [0x446f4c]
call fcn.00437050
add esp, 0x10
and bl, 1
jmp dword [0x4420d0]
mov eax, ebx
add esp, 0xb8
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
call fcn.00408690
add esp, 4
push ebp
call fcn.00408690
add esp, 4
jmp dword [0x4420e0]
pop ds
inc edx
add byte [ebp + 0x42], bl
add byte [ebp + 0x42], bl
add byte [ebx - 0x7fffbde1], bh
and byte [edx], al
pop edi
and al, 66
add byte [edi + 0x24], al
inc edx
add ch, dl
and byte [edx], al
pop ecx
and al, 66
add byte [esi + 0x24], ch
inc edx
add byte [0x40004221], ah
and dword [edx], eax
shl byte [eax], 0x42
add byte [ebp + 33], cl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx - 0x3fffbddf], al
and byte [edx], al
invalid
and byte [edx], al
ret
and eax, dword [edx]
int3
cmp eax, 0x41cb0042
inc edx
add bh, al
inc ebx
inc edx
add dh, dl
inc ebx
inc edx
add byte [esi + 0x3d], dh
inc edx
add byte [esi + 0x7600423d], cl
cmp eax, 0x3dac0042
inc edx
add al, al
cmp eax, 0x3dc00042
inc edx
add al, al
cmp eax, 0x3dc20042
inc edx
add dh, cl
cmp eax, 0x3dd90042
inc edx
add al, dh
cmp eax, 0x3df00042
inc edx
add al, dh
cmp eax, 0x3df20042
inc edx
add byte [eax], al
inc edx
add byte [eax], al
inc edx
add byte [eax], al
inc edx
add al, ah
inc ebx
inc edx
add dh, ah
inc ebx
inc edx
add byte [edi], cl
inc esp
inc edx
add ah, ch
inc ebx
inc edx
add byte [eax], al
inc esp
inc edx
add byte [eax], al
inc esp
inc edx
add byte [edi], cl
inc esp
inc edx
add byte [edi - 0x43ffbdc1], ch
inc esp
inc edx
add byte [edx - 0x39ffbdb9], dl
inc esp
inc edx
add byte [ecx + 0x47], ah
inc edx
add byte [eax + 0x47], dh
inc edx
add byte [esi + 0x47], dh
inc edx
add byte [ecx - 0x6fffbdb9], al
inc edi
inc edx
add byte [eax - 0x6dffbdb9], dl
inc edi
inc edx
add byte [eax - 0x5fffbdb9], dl
inc edi
inc edx
add byte [eax - 0x5dffbdb9], ah
inc edi
inc edx
add byte [eax - 0x2fffbdb9], ah
inc edi
inc edx
add dh, al
inc edi
inc edx
add bh, bl
inc edi
inc edx
add al, dl
inc edi
inc edx
add ch, ah
inc edi
inc edx
add al, dh
inc edi
inc edx
add dh, dh
inc edi
inc edx
add al, dh
inc edi
inc edx
add byte [edx - 0x45ffbdb7], dh
dec ecx
inc edx
add byte [ebx + 0x4a], bl
inc edx
add ch, ah
dec ecx
inc edx
add byte [eax], dl
dec edx
inc edx
add bl, ch
dec ecx
inc edx
add byte [eax], bh
dec edx
inc edx
add byte [eax], dl
dec edx
inc edx
add byte [edx + ecx*2 + 0x42], cl
add bl, bh
dec edx
inc edx
add dh, dl
dec ebx
inc edx
add byte [edx + ecx*2 + 0x42], cl
add dh, dl
dec ebx
inc edx
add dh, dl
dec ebx
inc edx
add dh, dl
dec ebx
inc edx
add byte [eax], cl
dec esp
inc edx
add byte [ebx], bl
dec esp
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [ebx], ch
dec esp
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx], ch
dec esp
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ebx], bh
dec esp
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [ebx + 0x4c], cl
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [ebx + 0x4c], bl
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [edi - 0x26ffbdb2], al
dec esi
inc edx
add cl, bl
dec esi
inc edx
add byte [ecx], ch
dec edi
inc edx
add byte [edi + 0x4c], ch
inc edx
add byte [0x6600424f], dh
dec edi
inc edx
add al, dh
dec edi
inc edx
add byte [eax + edx*2 + 0x42], dh
add cl, bh
dec edi
inc edx
add byte [eax + 0x50], ch
inc edx
add byte [eax + edx*2 + 0x42], dh
add byte [ebp + 0x4c], ah
inc edx
add byte [edi + 0x4c], dh
inc edx
add byte [esp + ecx*2 + 0x4cb80042], ch
inc edx
add byte [esi + 0x4e], ah
inc edx
add byte [ebp + 0x4c], ah
inc edx
add byte [ecx + 0x4e], bh
inc edx
add byte [esi + 0x4f], ah
inc edx
add byte [edi], cl
push eax
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [edx + 0x4a], dl
inc edx
add byte [ebx + 0x4a], bl
inc edx
add ch, dh
dec edx
inc edx
add byte [ecx - 0x30ffbdb0], bh
push eax
inc edx
add dh, al
push eax
inc edx
add byte [ecx - 0x39ffbdb0], bh
push eax
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp - 0x47ffb82b], bh
aad 0x47
add byte [edi - 0x6affb82a], dl
fadd dword [edi]
xor cl, bl
inc edi
add byte [eax + 0x1f0047d9], ah
fiadd dword [edi]
mov eax, 0x1f0047d8
fiadd dword [edi]
nop
fadd dword [edi]
or ebx, esp
inc edi
add byte [ebx], cl
fadd qword [edi]
or esp, ebx
inc edi
add byte [ecx], cl
fadd qword [edi]
xchg edx, eax
salc
inc edi
add byte [ebx + 0x430047dd], ch
fld qword [edi]
push ss
fiadd word [edi]
push 0xffffffffffffffe0
inc edi
add byte [ebp - 0x20], ah
inc edi
add byte [eax - 0x19], dl
inc edi
add byte [eax - 0x19], dl
inc edi
add byte [eax + 0x500047e7], ah
call 0xe8092199
inc edi
add byte [edx - 0x18ffb818], ah
out 0x47, eax
add byte [eax + ebp*8], dh
inc edi
add dh, bh
call 0xe94221ad
inc edi
add byte [eax], dh
out 0x47, eax
add byte [eax - 0x17], al
inc edi
add byte [ebp - 0x17], dl
inc edi
add byte [esi - 0x17], ch
inc edi
add byte [esi + 0x6e0047e6], al
jmp 0xf98521c9