Function at 0x41eda2
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x468
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
movaps xmm0, xmmword [0x43ba20]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0xaba8a941
mov dword [esp + 0x74], 0
mov dword [esp + 0x77], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1a
ja 0x41ebf6
nop word [eax + eax]
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x60]
add ecx, 0x6472a4e7
mov edx, ecx
mov esi, eax
not esi
or esi, ecx
and ecx, eax
xor edx, eax
lea edx, [edx + ecx*2]
add esi, eax
lea eax, [ecx + esi]
inc eax
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
sub eax, ecx
add al, 0xaf
mov ecx, dword [esp]
mov byte [esp + ecx + 0x60], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1b
jb 0x41ebb0
lea ebx, [esp + 0x60]
lea ecx, [esp + 0x38]
push ebx
call fcn.00432f50
shr eax, 0x1f
jmp dword [eax*4 + 0x44140c]
lea ecx, [esp + 0x38]
push 0x410
call fcn.004331d0
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x441424]
jmp dword [0x44142c]
mov eax, dword [case.0x41ec07.4]
xor edx, edx
nop word [eax + eax]
jmp eax
lea ecx, [esp + 0x38]
mov ebx, edx
call fcn.004332f0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add edi, 4
xor eax, eax
cmp edi, dword [esp + 0x4c]
setne al
jmp dword [eax*4 + 0x441444]
mov dword [esp + 0x30], edi
mov edi, dword [edi]
push 0x400
push 0
push ebx
call fcn.00408970
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x38]
push eax
push 0x400
push ebx
push edi
call fcn.00433620
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
xor eax, eax
jmp dword [ecx*4 + 0x44144c]
xor ecx, ecx
cmp dword [esp], 0
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x441454]
mov eax, 1
jmp dword [0x441464]
mov edi, dword [esp + 0x30]
jmp dword [eax*4 + 0x44146c]
mov byte [esp + 0x45f], 0
movzx eax, byte [esp + 0x60]
xor edx, edx
test al, al
je 0x41ed11
mov ecx, ebx
nop dword [eax + eax]
cmp al, 0x2e
je 0x41ed0f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41ed00
jmp 0x41ed11
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x441474]
movzx eax, byte [edx + 1]
inc edx
xor ecx, ecx
test al, al
mov dword [esp + 0x2c], edx
je 0x41ed3f
mov ecx, edx
cmp al, 0x2e
je 0x41ed3f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41ed30
xor ecx, ecx
xor eax, eax
test ecx, ecx
setne al
mov edx, dword [esp + 0x2c]
jmp dword [eax*4 + 0x44147c]
mov dword [esp + 0x1c], ecx
sub ecx, edx
lea eax, [ecx + 0x325099e4]
lea ebx, [eax + eax*2]
add ebx, 0x690e3254
shr ebx, 2
movzx ecx, byte [ecx + edx - 1]
cmp ecx, 0x3d
mov edi, edx
je 0x41ed7a
cmp ecx, 0x2e
jne 0x41ed7b
dec ebx
movzx eax, byte [eax + edi - 0x325099e6]
cmp eax, 0x3d
je 0x41ed8d
cmp eax, 0x2e
jne 0x41ed8e
dec ebx
mov eax, dword [case.0x41ed18.7]
nop word cs:[eax + eax]
jmp eax
mov dword [esp + 0x50], ebx
lea eax, [ebx + 1]
push eax
call fcn.004088f0
add esp, 4
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x1c]
sub ecx, edi
je 0x41eec7
xor eax, eax
xor edi, edi
mov dword [esp + 0x1c], ecx
jmp 0x41ede7
mov eax, edi
and eax, 4
xor edi, 4
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x20]
cmp edi, ecx
jae 0x41eec7
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x2c]
movzx eax, byte [ebx + edi]
push eax
call fcn.0040eea0
add esp, 4
mov byte [esp + 0x20], al
movzx eax, byte [ebx + edi + 1]
push eax
call fcn.0040eea0
add esp, 4
mov ebx, eax
movzx ecx, byte [esp + 0x20]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esp + 0x34]
lea edx, [ecx + 1]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov byte [edx + ecx], al
mov ecx, dword [esp + 0x1c]
lea eax, [edi + 2]
cmp eax, ecx
jae 0x41edd0
mov ecx, dword [esp + 0x2c]
movzx eax, byte [ecx + eax]
push eax
call fcn.0040eea0
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x41edd0
shl bl, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, bl
mov ebx, dword [esp + 0x34]
mov byte [esp + 0x17], al
lea edx, [ebx + 2]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov byte [edx + ebx + 1], ah
lea eax, [edi + 3]
cmp eax, ecx
jae 0x41edd0
mov ecx, dword [esp + 0x2c]
movzx eax, byte [ecx + eax]
push eax
call fcn.0040eea0
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
movzx edx, byte [esp + 0x17]
je 0x41edd0
shl dl, 6
add al, dl
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
mov byte [edx + ebx + 2], al
add ebx, 3
mov dword [esp + 0x20], ebx
jmp 0x41edd0
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov byte [edi + eax], 0
push edi
call fcn.00401700
add esp, 4
mov ebx, eax
jmp dword [0x441494]
push edi
call fcn.00408900
add esp, 4
push ebx
call fcn.004021f0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44149c]
mov edi, dword [esp + 0x30]
jmp 0x41f039
mov dword [esp], 0xeb325e23
lea ecx, [esp + 4]
mov dword [ecx + 3], 0
mov dword [ecx], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 0xa
ja 0x41ef7e
nop word cs:[eax + eax]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx]
mov edi, edx
and edi, 0x325c669d
xor edx, 0x325c669d
lea edx, [edx + edi*2]
mov edi, edx
and edi, ecx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0xb5
mov edx, dword [esp + 0x18]
mov byte [esp + edx], cl
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, 0xb
jb 0x41ef40
mov ecx, esp
push ecx
push eax
call fcn.00401f80
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4414a4]
movzx eax, byte [esp + 0x60]
test al, al
mov edi, dword [esp + 0x30]
je 0x41f01d
lea ecx, [esp + 0x61]
mov edx, dword [esp + 0x24]
nop dword [eax]
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41efb0
jmp 0x41f021
jmp dword [0x4414ac]
movzx ecx, byte [eax]
test cl, cl
je 0x41efdb
lea edx, [eax + 1]
nop dword [eax]
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41efd0
mov word [esi], 0x203a
add esi, 2
jmp case.0x41ef91.2
mov word [esi], 0x203a
add esi, 2
jmp dword [0x4414b4]
movzx ecx, byte [eax]
test cl, cl
je 0x41eff0
lea edx, [eax + 1]
nop dword [eax + eax]
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41f010
jmp 0x41eff0
mov edx, dword [esp + 0x24]
mov byte [esi], 0xa
inc esi
and dl, 1
movzx eax, dl
mov ecx, eax
xor ecx, 1
add ecx, eax
setne al
mov dword [esp + 0x24], eax
push ebx
call fcn.004027a0
add esp, 4
add edi, 4
xor eax, eax
cmp edi, dword [esp + 0x4c]
setne al
lea ebx, [esp + 0x60]
jmp dword [eax*4 + 0x441444]
movaps xmm0, xmmword [0x43ba30]
movups xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [0x43ba40]
movups xmmword [esp + 0x70], xmm0
movsd xmm0, qword [0x43ba50]
movsd qword [esp + 0x80], xmm0
mov dword [esp + 0x88], 0xfb284145
mov dword [esp + 0x8c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x41f0e0
nop word [eax + eax]
mov ecx, dword [esp]
mov eax, dword [esp]
movzx edx, byte [esp + eax + 0x60]
lea eax, [ecx - 0x35820ba5]
add ecx, 0x5b
or ecx, eax
and ecx, edx
or eax, edx
sub eax, ecx
add al, 0x83
mov ecx, dword [esp]
mov byte [esp + ecx + 0x60], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x41f0b0
lea eax, [esp + 0x54]
lea ecx, [esp + 0x38]
push 0
push 0x2b
push ebx
push eax
call fcn.004337a0
movaps xmm0, xmmword [0x43ba30]
movups xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [0x43ba40]
movups xmmword [esp + 0x70], xmm0
movsd xmm0, qword [0x43ba50]
movsd qword [esp + 0x80], xmm0
mov dword [esp + 0x88], 0xfb284145
mov dword [esp + 0x8c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x41f180
nop word cs:[eax + eax]
mov ecx, dword [esp]
mov eax, dword [esp]
movzx edx, byte [esp + eax + 0x60]
lea eax, [ecx - 0x35820ba5]
add ecx, 0x5b
or ecx, eax
and ecx, edx
or eax, edx
sub eax, ecx
add al, 0x83
mov ecx, dword [esp]
mov byte [esp + ecx + 0x60], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x41f150
lea eax, [esp + 0x54]
lea ecx, [esp + 0x38]
push 0
push 0x2b
push ebx
push eax
call fcn.004337a0
jmp dword [0x441438]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x44143c]
mov eax, esi
sub eax, edi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.004088f0
add esp, 4
mov ecx, esi
mov esi, eax
mov dword [esp + 0x24], 0
xor eax, eax
mov dword [esp + 0x4c], ecx
cmp edi, ecx
setne al
mov dword [esp + 0x48], esi
jmp dword [eax*4 + 0x441444]
mov edx, dword [esp + 0x24]
mov eax, edx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4414cc]
mov edi, dword [esp + 0x48]
jmp dword [0x4414d4]
xor edx, edx
test edi, edi
jne 0x41f2f6
jmp case.0x41ec07.4
mov byte [esi], 0
mov ecx, esi
not ecx
mov edi, dword [esp + 0x48]
and ecx, edi
mov eax, edi
not eax
and eax, esi
sub eax, ecx
movaps xmm0, xmmword [0x43ba60]
movups xmmword [esp + 0x60], xmm0
movsd xmm0, qword [0x43ba70]
movsd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], 0x636eb76b
mov word [esp + 0x7c], 0xdd68
mov dword [esp + 0x7e], 0
mov word [esp + 0x82], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x23
ja 0x41f2bf
nop word cs:[eax + eax]
mov edx, dword [esp]
mov ecx, dword [esp]
movzx esi, byte [esp + ecx + 0x60]
lea ecx, [edx + 0x4cb96be0]
add edx, 0xe0
and edx, esi
or ecx, esi
sub ecx, edx
mov edx, ecx
xor edx, 0xdf
and ecx, 0x5f
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp]
mov byte [esp + edx + 0x60], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x24
jb 0x41f280
lea edx, [esp + 0x60]
mov ecx, dword [ebp + 8]
push eax
push edi
push edx
call fcn.004091e0
mov edx, eax
jmp dword [0x4414d4]
push edi
mov esi, edx
call fcn.00408900
mov edx, esi
add esp, 4
and dl, 1
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
test edi, edi
je case.0x41ec07.4
cmp edi, esi
je case.0x41ec07.4
push edi
mov esi, edx
call fcn.00408900
mov edx, esi
add esp, 4
jmp case.0x41ec07.4
movaps xmm0, xmmword [0x43ba80]
movups xmmword [esi + 0x68], xmm0
movaps xmm0, xmmword [0x43ba90]
movups xmmword [esi + 0x78], xmm0
movaps xmm0, xmmword [0x43baa0]
movups xmmword [esi + 0x88], xmm0
movaps xmm0, xmmword [0x43bab0]
movups xmmword [esi + 0x98], xmm0
movsd xmm0, qword [0x43bac0]
movsd qword [esi + 0xa8], xmm0
mov dword [esi + 0xb0], 0x7bc765c5
mov word [esi + 0xb4], 0x7978
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov byte [ebx + 8], 0
mov dword [esi + 0xd8], 0
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x56
ja 0x41f48a
nop dword [eax + eax]
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd8]
movzx edx, byte [esi + edx + 0x68]
lea edi, [ecx + 6]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0xdc
mov edx, dword [esi + 0xd8]
mov byte [esi + edx + 0x68], cl
inc dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x57
jb 0x41f450
lea ecx, [esi + 4]
lea edx, [esi + 0x68]
push 0
push 0
push eax
push ecx
push edx
call fcn.00438020
add esp, 0x14
shr eax, 0x1f
mov edi, 4
jmp dword [eax*4 + 0x4414e4]
mov eax, dword [esi + 4]
sub esp, 0x24
lea ecx, [esi + 0x34]
mov dword [esp + 0x20], ecx
lea ecx, [esi + 0x38]
mov dword [esp + 0x1c], ecx
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
call fcn.00438430
add esp, 0x24
mov ecx, dword [case.0x41f4a7.4]
nop dword [eax + eax]
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4414fc]
mov eax, dword [esi + 0x34]
lea ecx, [eax + eax]
add ecx, 2
inc eax
mov eax, 0xffffffff
cmovns eax, ecx
push eax
call fcn.004088f0
add esp, 4
mov edi, eax
movaps xmm0, xmmword [0x43bad0]
movups xmmword [esi + 0x68], xmm0
movsd xmm0, qword [0x43bae0]
movsd qword [esi + 0x78], xmm0
mov byte [ebx - 0x32], 0
mov dword [ebx - 0x36], 0
mov dword [esi + 0xd8], 0
mov eax, dword [esi + 0xd8]
cmp eax, 0x1c
ja 0x41f5a7
nop word cs:[eax + eax]
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
movzx ecx, byte [esi + ecx + 0x68]
mov edx, eax
and edx, 0xc2b20718
xor eax, 0xc2b20718
lea edx, [eax + edx*2]
lea eax, [edx + ecx]
and edx, ecx
add edx, edx
sub eax, edx
add al, 0x58
mov ecx, dword [esi + 0xd8]
mov byte [esi + ecx + 0x68], al
inc dword [esi + 0xd8]
mov eax, dword [esi + 0xd8]
cmp eax, 0x1d
jb 0x41f560
lea eax, [esi + 0x34]
push eax
push edi
push 0
lea eax, [esi + 0x68]
push eax
push dword [esi + 4]
call fcn.00438aa0
add esp, 0x14
shr eax, 0x1f
mov dword [esi + 0xc], edi
jmp dword [eax*4 + 0x441504]
mov dword [esi + 0xc], 0
jmp dword [0x44150c]
push edi
call fcn.00408900
add esp, 4
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
mov dword [esi + 0x68], 0x4a454447
mov dword [ebx - 0x46], 0
mov dword [ebx - 0x4a], 0
mov dword [ebx - 0x42], 0
mov dword [esi + 0xd8], 0
mov eax, dword [esi + 0xd8]
cmp eax, 0xf
ja 0x41f65a
nop word [eax + eax]
mov ecx, dword [esi + 0xd8]
mov eax, dword [esi + 0xd8]
movzx eax, byte [esi + eax + 0x68]
lea edx, [ecx + 0x75]
and edx, eax
add ecx, eax
add edx, edx
sub ecx, edx
add cl, 0x42
mov eax, dword [esi + 0xd8]
mov byte [esi + eax + 0x68], cl
inc dword [esi + 0xd8]
mov eax, dword [esi + 0xd8]
cmp eax, 0x10
jb 0x41f620
mov ecx, dword [0x44739c]
test ecx, ecx
je case.default.0x41f6ae
mov edx, dword [esi + 0x68]
xor edi, edi
mov eax, dword [0x4473a0]
nop
cmp dword [eax + edi*8], 0x11081610
je 0x41f680
inc edi
cmp ecx, edi
jne 0x41f670
jmp case.default.0x41f6ae
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.default.0x41f6ae
push dword [esi + 8]
push 1
push dword [0x4473a4]
push eax
call fcn.00434c20
add esp, 0x10
nop dword [eax]
xor eax, eax
cmp dword [esi + 0xc], 0
setne al
mov edi, 2
jmp dword [eax*4 + 0x441514]
lea eax, [esi + 0x68]
push eax
call fcn.004375c0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44151c]
xor eax, eax
cmp dword [esi + 0x68], 1
sete al
jmp dword [eax*4 + 0x441524]
xor edi, edi
mov eax, 1
jmp dword [eax*4 + 0x44152c]
xor edi, edi
mov eax, dword [case.0x41f4a7.1]
jmp eax
xor eax, eax
cmp edi, 4
setl al
jmp dword [eax*4 + 0x441544]
xor eax, eax
cmp edi, 4
sete al
jmp dword [eax*4 + 0x44154c]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x441554]
jmp dword [0x441564]
mov eax, 0x20119
xor ecx, ecx
jmp dword [ecx*4 + 0x4414dc]
xor eax, eax
jmp dword [eax*4 + 0x44152c]
xor ebx, ebx
cmp dword [esi + 0xc], 0
sete bl
jmp dword [ebx*4 + 0x44156c]
movaps xmm0, xmmword [0x43baf0]
movups xmmword [esi + 0x68], xmm0
movaps xmm0, xmmword [0x43bb00]
movups xmmword [esi + 0x78], xmm0
mov dword [esi + 0x88], 0x2b8e2582
lea eax, [esi + 0x8c]
mov dword [esi + 8], eax
mov word [esi + 0x8c], 0x292a
mov dword [esi + 0x92], 0
mov dword [esi + 0x8e], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x2d
ja 0x41f7fd
nop word cs:[eax + eax]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [esi + edx + 0x68]
mov edi, 0xa3844dca
sub edi, ecx
lea eax, [ecx + 0x35]
and eax, edx
or edi, edx
add edx, ecx
add edx, 0x5c7bb235
add edi, ecx
lea ecx, [eax + edi]
add ecx, 0x5c7bb236
mov eax, ecx
xor eax, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
add cl, 0x8d
mov eax, dword [esi + 4]
mov byte [esi + eax + 0x68], cl
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x2e
jb 0x41f7b0
lea edi, [esi + 0xd8]
lea eax, [esi + 0x68]
mov ecx, 9
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esi + 0xfc]
mov ecx, 1
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
mov edi, dword [esi + 0xc]
nop word [eax + eax]
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x41f830
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
mov eax, 0xffffffff
cmovge eax, ecx
push eax
call fcn.004088f0
add esp, 4
mov ecx, edi
mov edi, eax
movzx ecx, word [ecx]
test cx, cx
je 0x41f881
mov eax, dword [esi + 0xc]
lea edx, [eax + 2]
mov eax, edi
nop word cs:[eax + eax]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f870
mov word [eax], 0
movzx ecx, word [esi + 0xd8]
test cx, cx
je 0x41f8b1
lea edx, [esi + 0xda]
nop dword [eax + eax]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f8a0
mov word [eax], 0
jmp dword [ebx*4 + 0x441574]
push dword [esi + 0xc]
call fcn.00408900
add esp, 4
lea eax, [esi + 0x38]
push 0x60
push 3
push 0x120089
push eax
mov dword [esi + 0x10c], edi
push edi
call fcn.004377f0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esi + 0x18], 0
mov dword [esi + 0xc], 0
jmp dword [eax*4 + 0x44157c]
jmp dword [0x4415ec]
push dword [esi + 0x10c]
call fcn.00408900
add esp, 4
xor eax, eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x18]
cmp edx, ecx
sete al
jmp dword [eax*4 + 0x4415f4]
xor ebx, ebx
jmp 0x420a66
lea eax, [esi + 0x34]
push 0
push eax
push dword [esi + 0x38]
call fcn.00437bb0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x441584]
mov edi, dword [esi + 0x34]
lea eax, [edi + 1]
push eax
call fcn.004088f0
add esp, 4
push 0
push edi
mov dword [esi + 0x54], eax
push eax
push dword [esi + 0x38]
call fcn.00437cb0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x44158c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x54]
mov byte [eax + edi], 0
push 0x20
call fcn.004088f0
add esp, 4
mov dword [esi + 0x100], eax
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, ebx
push edi
push dword [esi + 0x54]
call fcn.00421d80
movzx eax, al
xor edx, edx
jmp dword [eax*4 + 0x441594]
lea edi, [esi + 0x68]
jmp dword [0x44159c]
movaps xmm0, xmmword [0x43bb10]
movups xmmword [esi + 0x68], xmm0
movsd xmm0, qword [0x43bb20]
movsd qword [esi + 0x78], xmm0
mov dword [esi + 0x80], 0x374e464f
mov word [esi + 0x84], 0x4137
mov dword [esi + 0x8a], 0
mov dword [esi + 0x86], 0
mov byte [esi + 0x8e], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x26
ja 0x41fa70
nop dword [eax]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x68]
add eax, 0x6655b3a5
xor eax, ecx
mov ecx, eax
or ecx, 0x7c
and eax, 0x7c
add eax, ecx
inc al
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x68], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x27
jb 0x41fa40
mov ecx, ebx
push edi
call fcn.00421f70
jmp case.0x41f6ae.34
mov ecx, ebx
push edi
call fcn.00421f70
jmp dword [0x4415a8]
movaps xmm0, xmmword [0x43bb10]
movups xmmword [esi + 0x68], xmm0
movsd xmm0, qword [0x43bb20]
movsd qword [esi + 0x78], xmm0
mov dword [esi + 0x80], 0x374e464f
mov word [esi + 0x84], 0x4137
mov dword [esi + 0x8a], 0
mov dword [esi + 0x86], 0
mov byte [esi + 0x8e], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x26
ja 0x41fa80
nop word cs:[eax + eax]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x68]
add eax, 0x6655b3a5
xor eax, ecx
mov ecx, eax
or ecx, 0x7c
and eax, 0x7c
add eax, ecx
inc al
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x68], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x27
jb 0x41faf0
jmp 0x41fa80
xor eax, eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x18]
cmp edx, ecx
sete al
jmp dword [eax*4 + 0x4415f4]
mov eax, ecx
sub eax, edx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.004088f0
add esp, 4
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov byte [eax], 0
movaps xmm0, xmmword [str._t_S_AE_F_y9N_Lv3Q1B7U5oK_I]
mov ebx, dword [esi + 0x114]
movups xmmword [ebx], xmm0
movaps xmm0, xmmword [0x43bb40]
movups xmmword [ebx + 0x10], xmm0
movaps xmm0, xmmword [0x43bb50]
movups xmmword [ebx + 0x20], xmm0
movsd xmm0, qword [0x43bb60]
movsd qword [ebx + 0x30], xmm0
mov dword [ebx + 0x38], 0x6b105530
lea eax, [ebx + 0x3c]
mov word [ebx + 0x3c], 0x6968
mov dword [ebx + 0x3e], 0
mov byte [ebx + 0x42], 0
mov dword [esi + 0x68], 0
mov ecx, dword [esi + 0x68]
cmp ecx, 0x42
ja 0x41fbf0
nop dword [eax]
mov edx, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [ebx + ecx]
mov edi, 0xd9
sub edi, edx
add edx, 0x26
and edx, ecx
or edi, ecx
add edi, edx
sub ecx, edi
add cl, 0xf5
mov edx, dword [esi + 0x68]
mov byte [ebx + edx], cl
inc dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
cmp ecx, 0x43
jb 0x41fbc0
mov edx, dword [esi + 0x2c]
mov edi, edx
mov ecx, 0xf
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, edx
add edi, 0x3c
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x48]
push edi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x446390]
mov ebx, dword [edi]
lea eax, [ebx + ebx]
test ebx, ebx
mov ecx, 0xffffffff
cmovns ecx, eax
push ecx
call fcn.004088f0
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x60]
mov dword [eax], edi
push dword [esi + 0x48]
push ebx
push edi
push 0x1e
push dword [esi + 0x2c]
push 0
call dword [0x446390]
push 0x60
push 3
push 0x120089
mov ebx, dword [esi + 0x20]
push ebx
push edi
call fcn.004377f0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44160c]
push 0
mov edi, dword [esi + 0x14]
push edi
push dword [ebx]
call fcn.00437bb0
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441614]
jmp case.0x41f6ae.141
jmp dword [0x441608]
xor ebx, ebx
jmp 0x420a2e
mov edi, dword [edi]
lea eax, [edi + 1]
push eax
call fcn.004088f0
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0xd0]
mov dword [eax], ecx
push 0
push edi
mov edi, ecx
push ecx
push dword [ebx]
call fcn.00437cb0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44161c]
mov dword [esi + 8], edi
jmp dword [0x441628]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov byte [ecx + eax], 0
push 0x20
call fcn.004088f0
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 ecx, dword [esi + 0x50]
mov dword [ecx], eax
nop
mov eax, dword [esi + 0x14]
mov ebx, dword [eax]
mov eax, dword [esi + 8]
mov byte [eax + ebx], 0
push 0x20
call fcn.004088f0
add esp, 4
mov edi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov eax, dword [esi + 0x50]
mov dword [eax], edi
jmp dword [0x441630]
mov ecx, edi
push ebx
push dword [esi + 8]
call fcn.00421d80
movzx eax, al
jmp dword [eax*4 + 0x441634]
movaps xmm0, xmmword [0x43bb70]
mov ebx, dword [esi + 0x44]
movups xmmword [ebx], xmm0
movaps xmm0, xmmword [0x43bb80]
movups xmmword [ebx + 0x10], xmm0
mov word [ebx + 0x20], 0x79d5
mov dword [ebx + 0x22], 0
mov dword [ebx + 0x25], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 0x28
ja 0x41fe30
nop dword [eax]
mov edx, dword [esi + 0x68]
mov eax, dword [esi + 0x68]
movzx ecx, byte [ebx + eax]
lea eax, [edx - 0x3d6dce94]
and eax, ecx
mov ebx, 0x3d6dce93
sub ebx, edx
or ebx, ecx
add ecx, edx
add ecx, 0xc292316c
add edx, ebx
add edx, 0xc292316d
mov ebx, edx
and ebx, eax
xor eax, edx
lea eax, [eax + ebx*2]
mov ebx, dword [esi + 0x44]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov ecx, eax
or ecx, 0xb
and eax, 0xb
add eax, ecx
inc al
mov ecx, dword [esi + 0x68]
mov byte [ebx + ecx], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 0x29
jb 0x41fdd0
mov ecx, edi
push ebx
call fcn.00421f70
mov ecx, dword [case.0x41fc6e.14]
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44164c]
mov eax, dword [esi + 0x50]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
mov ebx, dword [esi + 0x20]
jmp dword [eax*4 + 0x44171c]
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x4415ac]
mov ebx, edx
jmp dword [0x4415bc]
add eax, 8
mov dword [esi + 0xc4], 0
mov eax, dword [eax]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
xor ebx, ebx
jmp dword [ecx*4 + 0x4415b4]
jmp dword [0x4415bc]
mov dword [esi + 0xc], edx
mov edi, dword [esi + 0x100]
mov ecx, edi
call fcn.004220f0
push edi
call fcn.00408900
add esp, 4
mov eax, dword [case.0x41f6ae.30]
mov edx, dword [esi + 0xc]
nop dword [eax + eax]
jmp eax
jmp dword [0x4415d4]
mov dword [esi + 0x18], ebx
mov dword [esi + 0xc], edx
push dword [esi + 0x54]
call fcn.00408900
add esp, 4
jmp dword [0x4415e0]
mov dword [esi + 0x18], ebx
mov dword [esi + 0xc], edx
jmp dword [0x4415e0]
mov eax, dword [esi + 0x38]
movaps xmm0, xmmword [str.GDEJ]
movups xmmword [esi + 0x68], xmm0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0xf
ja 0x41ff4b
nop dword [eax + eax]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [esi + edx + 0x68]
lea edi, [ecx + 0x75]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0x42
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x68], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x10
jb 0x41ff20
mov ecx, dword [0x44739c]
test ecx, ecx
je case.0x41f6ae.51
mov edx, dword [esi + 0x68]
xor edi, edi
mov ebx, dword [0x4473a0]
nop word cs:[eax + eax]
cmp dword [ebx + edi*8], 0x11081610
je 0x4201b7
inc edi
cmp ecx, edi
jne 0x41ff70
jmp case.0x41f6ae.51
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x18]
mov dword [ebx + edi*8 + 4], ecx
add edx, 8
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
add eax, 4
mov eax, dword [eax]
mov dword [ecx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4415b4]
mov ecx, dword [eax]
mov eax, dword [esi + 0x24]
mov dword [esi + 8], ecx
mov dword [eax], ecx
mov ecx, edx
sub ecx, ebx
sar ecx, 3
cmp edx, dword [esi + 0xc4]
mov dword [esi + 0x10], ecx
je 0x41ffd6
mov eax, ebx
jmp 0x420059
mov dword [esi + 0xc], edx
lea eax, [ecx + 1]
mov edx, ecx
shr edx, 1
add edx, ecx
cmp edx, eax
cmovbe edx, eax
mov dword [esi + 0x18], edx
lea eax, [edx*8]
push eax
call fcn.004088f0
add esp, 4
test ebx, ebx
je 0x420045
mov edx, dword [esi + 0xc]
cmp ebx, edx
mov edi, eax
je 0x420032
xor eax, eax
nop dword [eax]
mov ecx, dword [ebx + eax]
mov dword [edi + eax], ecx
mov ecx, dword [ebx + eax + 4]
mov dword [edi + eax + 4], ecx
mov dword [ebx + eax], 0
lea ecx, [ebx + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x420010
push ebx
call fcn.00408900
add esp, 4
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, edi
mov edi, dword [esi + 0x10]
lea edx, [eax + edi*8]
mov ecx, dword [esi + 0x18]
lea ecx, [eax + ecx*8]
mov dword [esi + 0xc4], ecx
mov ecx, edi
mov dword [esi + 0xc], edx
mov dword [eax + ecx*8], 0
mov dword [esi + 0x18], eax
mov dword [eax + ecx*8 + 4], 0
mov ecx, 0xffffffff
mov ebx, 0xfffffffe
xor edi, edi
mov edx, dword [esi + 8]
nop dword [eax]
mov eax, edi
add ebx, 2
cmp byte [edx + ecx + 1], 0
lea ecx, [ecx + 1]
lea edi, [edi + 2]
jne 0x420080
mov dword [esi + 0x110], eax
and ebx, 2
mov dword [esi + 0x58], ecx
xor ecx, 1
mov dword [esi + 0x104], ecx
add ebx, ecx
push ebx
mov dword [esi + 8], edx
call fcn.004088f0
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
mov dword [eax + ecx*8], edi
mov ecx, ebx
shr ecx, 2
mov edx, dword [esi + 8]
mov eax, edi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, dword [esi + 8]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esi + 0x108], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test byte [esi + 0x58], 1
jne 0x420108
mov eax, ebx
and eax, 2
movzx ecx, byte [edx + eax]
mov edx, dword [esi + 0x108]
mov byte [edx + eax], cl
mov ecx, ebx
xor ecx, 0xfffffffe
lea edi, [ecx + 1]
add ebx, ebx
and ebx, 0xfffffffc
mov edx, edi
add edx, ebx
mov eax, dword [esi + 0x110]
je 0x41ff87
and edi, 1
add ebx, ecx
mov dword [esi + 0x58], edi
jne 0x420136
mov ecx, 0xffffffff
jmp 0x42018e
sub ecx, edi
add eax, eax
and eax, 4
mov edx, dword [esi + 0x104]
lea edx, [eax + edx*2]
and edx, 0xfffffffc
add edx, ecx
inc edx
mov ecx, 0xffffffff
mov eax, dword [esi + 8]
nop word cs:[eax + eax]
mov ebx, ecx
shr ebx, 8
xor cl, byte [eax]
movzx ecx, cl
xor ebx, dword [ecx*4 + 0x43b530]
mov ecx, ebx
shr ecx, 8
xor bl, byte [eax + 1]
add eax, 2
movzx edi, bl
xor ecx, dword [edi*4 + 0x43b530]
add edx, 0xfffffffe
jne 0x420160
mov dword [esi + 8], eax
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
cmp dword [esi + 0x58], 0
je 0x4201b0
mov eax, ecx
shr eax, 8
mov ebx, dword [esi + 8]
xor cl, byte [ebx]
movzx ecx, cl
xor eax, dword [ecx*4 + 0x43b530]
mov ecx, eax
not ecx
jmp 0x41ff8f
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x41f6ae.51
push eax
push 1
push dword [0x4473a4]
push ecx
call fcn.00434c20
add esp, 0x10
jmp case.0x41f6ae.51
jmp dword [0x4415e8]
mov eax, dword [esi + 0x38]
movaps xmm0, xmmword [str.GDEJ]
movups xmmword [esi + 0x68], xmm0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0xf
ja 0x42023b
nop word cs:[eax + eax]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [esi + edx + 0x68]
lea edi, [ecx + 0x75]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0x42
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x68], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x10
jb 0x420210
mov ecx, dword [0x44739c]
test ecx, ecx
je 0x4201e0
mov edx, dword [esi + 0x68]
xor edi, edi
mov ebx, dword [0x4473a0]
cmp dword [ebx + edi*8], 0x11081610
je 0x420260
inc edi
cmp ecx, edi
jne 0x420250
jmp 0x4201e0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x4201e0
push eax
push 1
push dword [0x4473a4]
push ecx
call fcn.00434c20
add esp, 0x10
jmp dword [0x4415e8]
mov edx, dword [esi + 0x5c]
jmp dword [0x441658]
mov ecx, dword [eax + 8]
mov dword [edx], ecx
jmp dword [0x44165c]
mov ecx, dword [eax + 8]
mov dword [edx], ecx
mov ecx, dword [eax + 8]
mov dword [edx], ecx
jmp dword [0x44165c]
mov eax, dword [case.0x41fc6e.25]
mov ebx, dword [esi + 0x20]
jmp case.0x41fc6e.22
push eax
call fcn.00408900
add esp, 4
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x5c]
mov dword [eax], ecx
mov eax, dword [case.0x41fc6e.25]
nop word cs:[eax + eax]
jmp eax
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x441674]
mov edx, dword [ecx]
xor edi, edi
cmp dword [ecx + 0x18], 3
jne 0x4202fd
mov edi, dword [ecx + 0x10]
mov eax, dword [case.0x41fc6e.31]
nop word cs:[eax + eax]
jmp eax
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44168c]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x441694]
mov dword [esi + 0x10], edx
mov edx, edi
mov eax, edi
nop word cs:[eax + eax]
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x420372
sub ecx, edx
inc ecx
shr ecx, 1
mov dword [esi + 0x48], ecx
lea eax, [ecx + 1]
push eax
mov edi, edx
call fcn.004088f0
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
movsx edx, byte [edi]
xor eax, eax
test edx, edx
setne al
mov dword [esi + 0x44], ecx
jmp dword [eax*4 + 0x44169c]
mov byte [ecx], 0
mov edi, dword [esi + 0x10]
nop
inc edi
movzx eax, byte [edi - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x420380
cmp ecx, 0x20
je 0x420380
movzx ecx, al
cmp ecx, 0x2b
je 0x4203a6
cmp ecx, 0x2d
jne 0x420723
cmp al, 0x2b
sete byte [esi + 0x2c]
movzx eax, byte [edi]
cmp al, 0x30
jne 0x4203cb
movsx eax, byte [edi + 1]
mov ecx, eax
not ecx
or ecx, 0xffffffdf
add ecx, eax
xor eax, eax
cmp ecx, 0x57
sete al
lea edi, [edi + eax*2]
mov dword [esi + 0x14], 0
mov dword [esi + 8], 0
xor eax, eax
jmp 0x4204ee
mov edi, dword [esi + 8]
movsx edx, byte [edi]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44169c]
mov dword [esi + 8], edi
mov eax, edx
not eax
and eax, 0xffffffdf
mov edi, 0xa8
sub edi, eax
add eax, 0x67
add edx, 0xffffffd0
cmp edx, 0xa
mov ebx, 0xff
cmovb ebx, edx
cmp eax, 6
cmovb ebx, edi
mov eax, dword [esi + 0x64]
mov byte [eax], bl
mov edx, dword [esi + 8]
movsx edi, byte [edx + 1]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4416a4]
inc edx
mov dword [esi + 8], edx
mov edx, dword [esi + 0x64]
jmp dword [0x4416ac]
shl ebx, 4
add edx, 2
mov dword [esi + 8], edx
mov edx, edi
not edx
and edx, 0xffffffdf
mov eax, 0xffffffa8
sub eax, edx
mov dword [esi + 0x14], eax
add edx, 0x67
add edi, 0xffffffd0
cmp edi, 0xa
mov eax, 0xffffffff
cmovb eax, edi
cmp edx, 6
cmovb eax, dword [esi + 0x14]
mov edx, eax
not edx
and edx, ebx
xor eax, ebx
add eax, ebx
sub eax, edx
mov edx, dword [esi + 0x64]
mov byte [edx], al
mov ebx, eax
jmp dword [0x4416ac]
mov byte [ecx], bl
inc ecx
jmp dword [0x4416b8]
movzx eax, byte [edx]
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
mov byte [ecx], al
inc ecx
jmp dword [0x4416b8]
mov dword [esi + 0x10], 0
xor ebx, ebx
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov dword [esi + 0x24], 0x22
mov eax, dword [esi + 0x10]
add eax, ecx
adc ebx, edx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x14], ecx
mov dword [esi + 8], eax
mov eax, ebx
mov ecx, eax
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x24], eax
movsx eax, byte [edi]
lea edx, [eax - 0x30]
mov dword [esi + 0x10], edx
cmp edx, 0xa
jb 0x42052f
mov edx, ecx
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x19
ja 0x4205b7
or al, 0x20
cmp al, 0x66
jg 0x4205b7
movsx eax, al
add eax, 0xffffffa9
mov dword [esi + 0x10], eax
mov ecx, edx
inc edi
mov edx, edi
mov edi, ebx
and edi, ecx
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x14], 0x22
mov eax, 0xffffffff
cmp edi, 0xffffffff
mov edi, edx
je 0x4204ee
test ecx, 0xf0000000
je 0x420580
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x14], 0x22
cmp dword [esi + 0x10], 0
jne 0x4204ee
jmp 0x4204c2
mov edx, ecx
mov ecx, ebx
shld edx, ebx, 4
shl ecx, 4
mov eax, dword [esi + 0x10]
mov ebx, eax
sar ebx, 0x1f
add eax, ecx
mov eax, ebx
adc eax, edx
mov dword [esi + 8], 0xffffffff
mov eax, 0xffffffff
mov dword [esi + 0x14], 0x22
jb 0x4204ee
jmp 0x4204dc
mov dword [esi + 0x1c], 0
mov eax, ebx
neg eax
mov ecx, 0
sbb ecx, edx
cmp byte [esi + 0x2c], 0
cmovne eax, ebx
mov dword [esi + 0x14], eax
cmovne ecx, edx
mov dword [esi + 0x10], ecx
mov eax, dword [case.0x41fc6e.47]
mov ecx, dword [case.0x41fc6e.59]
mov edx, dword [esi + 0x18]
jmp case.0x41fc6e.44
mov edi, dword [edx]
mov dword [esi + 0x1c], edi
xor edi, edi
jmp dword [edi*4 + 0x4416fc]
add edx, 8
nop word [eax + eax]
jmp eax
xor ebx, ebx
cmp edx, dword [esi + 0xc]
setne bl
jmp dword [ebx*4 + 0x4416cc]
cmp dword [esi + 0x24], 0x22
setne byte [esi + 8]
mov ebx, dword [edx + 4]
mov edi, ebx
shr edi, 0x1c
xor edi, dword [esi + 0x10]
shl ebx, 4
or ebx, 1
xor ebx, dword [esi + 0x14]
or ebx, edi
sete bl
and bl, byte [esi + 8]
movzx edi, bl
jmp dword [edi*4 + 0x4416e4]
jmp ecx
mov edi, 1
jmp dword [edi*4 + 0x4416fc]
mov eax, dword [case.0x41fc6e.52]
nop word cs:[eax + eax]
jmp eax
xor eax, eax
mov edx, dword [esi + 0x1c]
test edx, edx
setne al
jmp dword [eax*4 + 0x441704]
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
mov ebx, dword [esi + 0x20]
jmp dword [ecx*4 + 0x441714]
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0x48]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
mov ebx, dword [esi + 0x20]
nop word cs:[eax + eax]
cmp byte [edx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x420709
mov ecx, dword [esi + 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edi, dword [esi + 0x3c]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x932a8d34
push dword [0x4473a8]
mov dword [esi + 0x1c], edx
call fcn.00436cf0
add esp, 8
push edi
push 1
push 0
push 0
push dword [esi + 0xc8]
push 0
push dword [esi + 0xcc]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44170c]
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x441714]
dec edi
mov byte [esi + 0x2c], 1
cmp al, 0x30
je 0x4203b3
jmp 0x4203cb
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov edx, dword [esi + 0x1c]
movzx eax, byte [edx]
test al, al
je 0x42075d
inc edx
mov edi, dword [esi + 0x3c]
nop dword [eax + eax]
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x420750
jmp 0x420760
mov edi, dword [esi + 0x3c]
mov byte [ecx], 0x3a
lea eax, [ecx + 2]
mov edx, dword [esi + 0x28]
mov dword [edx], eax
mov byte [ecx + 1], 0x20
mov edx, dword [edi]
test edx, edx
je 0x4207a2
mov ecx, dword [edi + 4]
mov edi, edx
and edi, 3
je 0x4207a6
mov dword [esi + 8], edx
xor ebx, ebx
movzx edx, byte [ecx]
cmp dl, 1
mov byte [eax + ebx], dl
sbb ecx, 0xffffffff
inc ebx
cmp edi, ebx
jne 0x420784
add eax, ebx
mov edi, dword [esi + 8]
mov edx, edi
sub edx, ebx
mov ebx, eax
jmp 0x4207a8
mov ebx, eax
jmp 0x4207e6
mov edi, edx
cmp edi, 4
jb 0x4207e6
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 3], bl
lea ebx, [eax + 4]
mov eax, ebx
add edx, 0xfffffffc
jne 0x4207ad
lea eax, [ebx + 1]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov byte [ebx], 0xa
mov eax, dword [esi + 0x30]
mov byte [eax], 1
push 0x2e0ec9bb
push dword [0x447394]
call fcn.00436cf0
add esp, 8
mov ecx, dword [esi + 0x3c]
push dword [ecx + 4]
call eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
mov ebx, dword [esi + 0x20]
jmp dword [ecx*4 + 0x441714]
mov eax, dword [esi + 0x50]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44171c]
jmp dword [0x441728]
mov ecx, edi
call fcn.004220f0
push edi
call fcn.00408900
add esp, 4
nop word cs:[eax + eax]
mov ecx, edi
call fcn.004220f0
push edi
call fcn.00408900
add esp, 4
jmp dword [0x44172c]
mov eax, dword [case.0x41fc6e.4]
nop dword [eax + eax]
jmp eax
mov eax, dword [esi + 0xd0]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x441744]
push eax
call fcn.00408900
add esp, 4
jmp case.0x41f6ae.141
mov eax, dword [ebx]
movaps xmm0, xmmword [str.GDEJ]
movups xmmword [esi + 0x68], xmm0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0xf
ja 0x4208eb
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [esi + edx + 0x68]
lea edi, [ecx + 0x75]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0x42
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x68], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x10
jb 0x4208c0
mov ecx, dword [0x44739c]
test ecx, ecx
je case.0x41fc6e.0
mov edx, dword [esi + 0x68]
xor edi, edi
mov ebx, dword [0x4473a0]
cmp dword [ebx + edi*8], 0x11081610
je 0x420910
inc edi
cmp ecx, edi
jne 0x420900
jmp case.0x41fc6e.0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x420a70
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44174c]
push eax
call fcn.00408900
add esp, 4
mov eax, dword [esi + 0x30]
movzx ebx, byte [eax]
jmp dword [ebx*4 + 0x441754]
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov edi, eax
xor edi, ecx
mov edx, eax
not edx
and edx, ecx
add edx, edx
sub edx, edi
movaps xmm0, xmmword [0x43bb90]
mov ebx, dword [esi + 0xd4]
movups xmmword [ebx], xmm0
movsd xmm0, qword [0x43bba0]
movsd qword [ebx + 0x10], xmm0
mov dword [ebx + 0x18], 0x8b847fbb
mov word [ebx + 0x1c], 0x1586
mov dword [ebx + 0x22], 0
mov dword [ebx + 0x1e], 0
mov word [ebx + 0x26], 0
mov dword [esi + 0x68], 0
mov ecx, dword [esi + 0x68]
cmp ecx, 0x27
ja 0x4209f8
nop dword [eax]
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x68]
movzx edi, byte [ebx + edi]
mov ebx, ecx
and ebx, 0xcf87ce87
xor ecx, 0xcf87ce87
lea ebx, [ecx + ebx*2]
lea ecx, [ebx + edi]
and ebx, edi
add ebx, ebx
sub ecx, ebx
mov ebx, dword [esi + 0xd4]
mov edi, ecx
xor edi, 0x4e
and ecx, 0x4e
lea ecx, [edi + ecx*2]
inc cl
mov edi, dword [esi + 0x68]
mov byte [ebx + edi], cl
inc dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
cmp ecx, 0x28
jb 0x4209b0
mov ecx, dword [ebp + 8]
push edx
push eax
push ebx
call fcn.004091e0
mov ebx, eax
mov eax, dword [esi + 0x30]
mov byte [eax], bl
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44175c]
push eax
call fcn.00408900
add esp, 4
test bl, bl
setne bl
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x18]
test edi, edi
je 0x420a66
cmp edi, ecx
jne 0x420a44
jmp 0x420a66
cmp edi, ecx
je 0x420a5b
mov eax, dword [edi]
add edi, 8
test eax, eax
je 0x420a40
push eax
call fcn.00408900
mov ecx, dword [esi + 0xc]
add esp, 4
jmp 0x420a40
push dword [esi + 0x18]
call fcn.00408900
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x4473a4]
push ecx
call fcn.00434c20
add esp, 0x10
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44174c]
mov eax, dword [esi + 0x30]
movzx ebx, byte [eax]
jmp dword [ebx*4 + 0x441754]
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44175c]