Function at 0x41ad80
Capabilities:
Terminate process

Disassembly:
mov eax, 0x1020
call fcn.00464610
push ebx
push ebp
push esi
lea eax, [esp + 0x10]
push edi
mov ebx, ecx
push eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0x496630
call fcn.0041a740
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x41adf6
mov edx, dword [ebx + 0x1c]
lea ecx, [edi + edi*2]
lea ebp, [edx + ecx*8]
mov esi, dword [esp + 0x14]
mov eax, dword [ebp - 0x18]
dec edi
sub ebp, 0x18
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41ade9
test cl, cl
je 0x41ade5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41ade9
add eax, 2
add esi, 2
test cl, cl
jne 0x41adc5
xor eax, eax
jmp 0x41adee
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x41ae27
test edi, edi
jne 0x41adba
push 0x488c00
mov ecx, ebx
call fcn.0041a7f0
test eax, eax
je 0x41ae6b
mov ecx, ebx
mov dword [esp + 0x20], 4
call fcn.0041a8b0
push 0x489c74
mov ecx, ebx
mov dword [esp + 0x20], eax
call fcn.0041a880
jmp 0x41ae73
test edi, edi
jl 0x41adf6
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
push 0x489cb8
push ecx
call fcn.004054a0
mov edx, dword [eax]
add esp, 0xc
mov ecx, ebx
push 0
push edx
push 0xa
call fcn.00419f70
mov eax, dword [esp + 0x18]
cmp eax, 0x496630
je 0x41ae64
push eax
call fcn.004640e0
add esp, 4
push 1
call fcn.00465bed
mov dword [esp + 0x1c], 1
mov ecx, ebx
call fcn.0041ea70
sub esp, 0x14
mov ecx, esp
push ecx
mov dword [ecx + 4], 0x496630
mov dword [ecx + 8], eax
mov byte [ecx], 1
lea eax, [esp + 0x2c]
mov ecx, esp
push eax
call fcn.00406cc0
lea ecx, [ebx + 0x10]
call fcn.0041eb10
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x41af6c
mov dword [esp + 0x18], eax
mov ecx, 0x496618
test ecx, ecx
je 0x41af02
mov al, byte [0x496618]
test al, al
je 0x41af02
mov edi, ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea edx, [ebp + 1]
push edx
call fcn.004640eb
mov ecx, ebp
mov dword [esp + 0x14], eax
mov edi, eax
mov eax, ecx
mov esi, 0x496618
add esp, 4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov byte [ecx + ebp], 0
jmp 0x41af0a
mov dword [esp + 0x10], 0x496630
lea edx, [esp + 0x10]
lea ecx, [esp + 0x2c]
push edx
mov byte [esp + 0x28], 1
call fcn.00406cc0
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.0041ea80
lea ecx, [esp + 0x2c]
call fcn.00431b90
mov eax, dword [esp + 0x10]
cmp eax, 0x496630
je 0x41af46
push eax
call fcn.004640e0
add esp, 4
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*4 - 0xc]
mov cl, byte [esp + 0x20]
mov dl, byte [eax]
or dl, cl
mov byte [eax], dl
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jne 0x41aeb1
push 0x488bfc
mov ecx, ebx
call fcn.0041a7f0
test eax, eax
je 0x41b02f
lea edx, [esp + 0x30]
mov ecx, ebx
push edx
call fcn.0041a900
lea eax, [esp + 0x30]
test eax, eax
je 0x41afdc
mov al, byte [esp + 0x30]
test al, al
je 0x41afdc
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [ebp + 1]
push ecx
call fcn.004640eb
mov ecx, ebp
lea esi, [esp + 0x34]
mov edx, ecx
mov edi, eax
shr ecx, 2
mov dword [esp + 0x14], eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x10]
mov byte [eax + ebp], 0
jmp 0x41afe4
mov dword [esp + 0x10], 0x496630
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
lea ecx, [eax + eax*2]
lea eax, [esp + 0x10]
push eax
lea esi, [edx + ecx*4 - 0xc]
lea ecx, [esi + 8]
call fcn.00405080
mov dl, byte [esi]
or dl, 8
mov byte [esi], dl
mov eax, dword [esp + 0x10]
cmp eax, 0x496630
je 0x41b019
push eax
call fcn.004640e0
add esp, 4
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*4 - 0xc]
mov cl, byte [edx + ecx*4 - 0xc]
and cl, 0xbf
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.0041a9e0
mov eax, dword [esp + 0x14]
cmp eax, 0x496630
je 0x41b04f
push eax
call fcn.004640e0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1020
ret