Function at 0x41a7a0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x44]
mov esi, dword [edi + 0x28]
add esi, 0x7ff
and esi, 0xfffff800
push esi
mov dword [esp + 0x18], esi
call fcn.0041cc50
mov ebp, dword [edi + 0x10]
add esp, 4
xor ebx, ebx
mov dword [esp + 0x10], eax
test ebp, ebp
je 0x41aace
test byte [ebp + 0x54], 8
jne 0x41aac3
mov edx, dword [ebp + 0x3c]
mov eax, ebx
and eax, 0x7ff
add eax, edx
cmp eax, 0x800
jb 0x41a801
add ebx, 0x7ff
and ebx, 0xfffff800
mov ecx, 8
lea esi, [ebp + 0x88]
lea edi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov cl, byte [ebp + 0x38]
mov al, byte [esp + 0x31]
mov byte [esp + 0x38], cl
mov dl, byte [ebp + 0x3c]
and al, 2
mov byte [esp + 0x18], dl
jne 0x41a846
mov ecx, dword [esp + 0x40]
mov dl, byte [ecx + 0xd0]
test dl, dl
jne 0x41a841
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x41a846
add byte [esp + 0x38], 4
test al, al
je 0x41a895
mov eax, dword [ebp + 0x30]
push 0x50e7e0
push eax
call fcn.004b7678
add esp, 8
test eax, eax
jne 0x41a904
mov esi, dword [esp + 0x44]
mov byte [esp + 0x38], 1
mov ecx, dword [esi + 0x2c]
lea edx, [esp + 0x1a]
push ecx
push edx
call fcn.0041bfc0
mov eax, dword [esi + 0x28]
lea ecx, [esp + 0x2a]
add eax, 0x7ff
and eax, 0xfffff800
push eax
push ecx
call fcn.0041bfc0
add esp, 0x10
mov eax, dword [esp + 0x10]
mov ecx, 8
lea esi, [esp + 0x18]
lea edi, [ebx + eax]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
jne 0x41a8bd
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x36a0]
test ecx, ecx
je 0x41a8cf
lea edx, [ebx + eax + 0x12]
push ecx
push edx
call fcn.0041c1b0
mov eax, dword [esp + 0x18]
add esp, 8
mov cl, byte [esp + 0x31]
add ebx, 0x21
test cl, 2
je 0x41a999
mov eax, dword [ebp + 0x30]
push 0x50e7e0
push eax
call fcn.004b7678
add esp, 8
test eax, eax
jne 0x41a96c
mov ecx, dword [esp + 0x10]
inc ebx
mov byte [ebx + ecx - 1], al
mov eax, ecx
jmp 0x41a9ea
mov edx, dword [ebp + 0x30]
push 0x50e7d8
push edx
call fcn.004b7678
add esp, 8
test eax, eax
jne 0x41a950
mov esi, dword [esp + 0x44]
mov byte [esp + 0x38], 1
lea edx, [esp + 0x1a]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x2c]
push ecx
push edx
call fcn.0041bfc0
mov eax, dword [esi + 8]
lea edx, [esp + 0x2a]
mov ecx, dword [eax + 0x28]
add ecx, 0x7ff
and ecx, 0xfffff800
push ecx
push edx
jmp 0x41a88d
mov eax, dword [esp + 0x44]
mov esi, dword [eax + 4]
cmp dword [esi + 0x14], ebp
je 0x41a86c
mov esi, dword [esi]
test esi, esi
je 0x41ab55
jmp 0x41a957
mov cl, byte [esp + 0x31]
mov eax, dword [esp + 0x10]
test cl, 2
je 0x41a999
mov edx, dword [ebp + 0x30]
push 0x50e7d8
push edx
call fcn.004b7678
add esp, 8
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x41a999
mov byte [ebx + eax], 1
inc ebx
jmp 0x41a9ea
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp + 0x34]
mov edx, ecx
lea edi, [ebx + eax]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0x38]
mov cl, byte [esp + 0x31]
add ebx, edx
test cl, 2
jne 0x41a9ea
mov ecx, dword [esp + 0x40]
mov dl, byte [ecx + 0xd0]
test dl, dl
jne 0x41a9d6
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x41a9ea
mov byte [ebx + eax], 0
inc ebx
mov byte [ebx + eax], 0x3b
inc ebx
mov byte [ebx + eax], 0
inc ebx
mov byte [ebx + eax], 0x31
inc ebx
test bl, 1
je 0x41a9f4
mov byte [ebx + eax], 0
inc ebx
mov eax, dword [esp + 0x40]
mov cl, byte [eax + 0xd0]
test cl, cl
je 0x41aabf
mov al, byte [ebp + 0xa1]
add ebx, 0xe
test al, 2
je 0x41aa1e
mov eax, dword [esp + 0x10]
mov byte [ebx + eax - 0xa], 0x8d
jmp 0x41aa47
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffff01
jb 0x41aa3a
cmp eax, 0xffffff63
ja 0x41aa3a
mov ecx, dword [esp + 0x10]
mov byte [ebx + ecx - 0xa], 0x15
jmp 0x41aa43
mov edx, dword [esp + 0x10]
mov byte [ebx + edx - 0xa], 0xd
mov eax, dword [esp + 0x10]
mov byte [ebx + eax - 9], 0x55
mov byte [ebx + eax - 8], 0x58
mov byte [ebx + eax - 7], 0x41
mov ecx, dword [ebp + 0x14]
cmp ecx, 0xffffff01
jb 0x41aa6f
cmp ecx, 0xffffff63
ja 0x41aa6f
mov byte [ebx + eax - 6], cl
jmp 0x41aabf
cmp ecx, 0xffffff00
jne 0x41aabf
mov edx, dword [ebp + 0x30]
push str.PSD_X.VCD
push edx
call fcn.004b72dd
add esp, 8
test eax, eax
je 0x41aab6
mov eax, dword [ebp + 0x30]
push str.LOT_X.VCD
push eax
call fcn.004b72dd
add esp, 8
test eax, eax
je 0x41aab6
mov ecx, dword [ebp + 0x30]
push str.SCANDATA.DAT
push ecx
call fcn.004b72dd
add esp, 8
test eax, eax
jne 0x41aabf
mov edx, dword [esp + 0x10]
mov byte [ebx + edx - 6], 1
mov esi, dword [esp + 0x14]
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x41a7d8
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [0x550c90]
push edx
mov edx, dword [esp + 0x64]
sar esi, 0xb
push esi
push eax
push ecx
push edx
call fcn.00416ed0
add esp, 0x34
cmp eax, esi
jne 0x41ab6b
mov edi, dword [0x550c90]
mov eax, dword [esp + 0x10]
add edi, esi
push eax
mov dword [0x550c90], edi
call fcn.00487ea0
mov ecx, dword [esp + 0x4c]
add esp, 4
test ecx, ecx
mov eax, esi
je 0x41ab5d
shl eax, 0xb
cdq
push edx
push eax
call dword [ecx + 4]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
shl eax, 0xb
cdq
push edx
push eax
call fcn.00474a20
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret