Function at 0x10046fc0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [eax + 0x4c2]
push esi
mov ebx, eax
push edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0xac], ecx
cmp eax, ecx
ja case.0x1004719d.11588
mov edi, dword [ebp + 0x10]
jmp 0x10046ff0
cmp ebx, 0x2c48
ja 0x10047173
je 0x1004715f
lea eax, [ebx - 0x2cb]
cmp eax, 0x93
ja case.0x1004752e.21811
movzx eax, byte [eax + 0x10047850]
jmp dword [eax*4 + 0x1004782c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], 0
jmp case.0x1004752e.21811
xor bh, al
xor dh, byte [edx - 0x1c]
mov esi, dword [ebp + 8]
lea edx, [esi + 0xa4]
push edx
push 0x2e76
call fcn.100562f0
lea eax, [esi + 0xec]
push eax
push 0x2e76
call fcn.100562f0
add esi, 0x104
push esi
push 0x2e76
call fcn.100562f0
add esp, 0x18
jmp case.0x1004752e.21811
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x1004708d
push eax
push 0x5d67
push 0
call fcn.10064970
add esp, 0xc
xor eax, eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
jmp case.0x1004752e.21811
rcl byte [eax + esi], 0x71
lahf
mov ecx, dword [ebp + 8]
push ecx
push 0x5d67
push 0
call fcn.10064970
add esp, 0xc
jmp case.0x1004752e.21811
mov edx, dword [ebp + 8]
add edx, 0x8c
push edx
push 0x2e76
call fcn.100562f0
add esp, 8
jmp case.0x1004752e.21811
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x38]
test eax, eax
je case.0x1004752e.21811
push eax
push 0x5d67
pop ebp
add byte [eax], al
push 0
call fcn.10064970
add esp, 0xc
jmp case.0x1004752e.21811
jp 0x100470e3
bnd ret
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x70]
test eax, eax
je 0x10047149
push eax
push 0x4f3f
push 0
call fcn.10029600
add esp, 0xc
mov dword [esi + 0x70], 0
add esi, 0x74
push esi
push 0x2e76
call fcn.100562f0
add esp, 8
jmp case.0x1004752e.21811
mov dword [ebp - 0x68], str.eodm
mov byte [ebp - 0x11], 0x65
mov byte [ebp - 0x13], 0x6f
jmp case.0x1004752e.21811
cmp ebx, 0x551d
ja 0x10047516
je 0x10047504
lea eax, [ebx - 0x2c5d]
cmp eax, 0xe7
ja case.0x1004752e.21811
movzx edx, byte [eax + 0x10047918]
jmp dword [edx*4 + 0x100478e4]
mov byte [ebp - 8], 0
mov dword [ebp - 0x50], edi
jmp case.0x1004752e.21811
mov eax, dword [ebp - 0x5c]
mov cl, byte [eax + 2]
mov byte [ebp - 0xc], cl
jmp case.0x1004752e.21811
mov edx, dword [ebp - 0x68]
mov al, byte [edx + 2]
mov byte [ebp - 0x12], al
jmp case.0x1004752e.21811
mov ecx, dword [ebp - 0x68]
mov dl, byte [ecx + 3]
mov byte [ebp - 0x14], dl
mov byte [ebp - 0x10], 0
jmp case.0x1004752e.21811
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x60]
push eax
push 0x5a57
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 4]
push edx
mov dword [ebp - 4], esi
call fcn.1003e770
push 0x34d1
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 4]
push edx
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], esi
call fcn.10004450
add esp, 0x20
jmp case.0x1004752e.21811
mov dword [ebp - 0x60], 0xffffffff
jmp case.0x1004752e.21811
mov dword [ebp - 0x5c], str.atda
mov word [ebp - 0xb], 0x7461
jmp case.0x1004752e.21811
mov eax, dword [ebp - 0x5c]
mov cl, byte [eax + 3]
mov byte [ebp - 9], cl
jmp case.0x1004752e.21811
cmp dword [ebp - 0x18], 0
je 0x100474a6
mov eax, dword [ebp - 0x60]
sub eax, 0
je 0x1004726c
dec eax
je 0x100473f4
jmp case.0x10047280.104
xor esi, esi
mov edi, edi
cmp esi, 0x68
ja case.0x10047280.1
movzx edx, byte [esi + 0x10047a28]
jmp dword [edx*4 + 0x10047a00]
mov dword [ebp - 0x6e], 0x736169
mov dword [ebp - 0x94], 0x666e69
jmp case.0x10047280.1
mov dx, word [ebp - 0x30]
mov eax, dword [ebp - 0x54]
push 0x495f
lea ecx, [ebp - 4]
push ecx
mov ecx, dword [ebp - 0x4c]
mov word [ebp - 0x42], dx
lea edx, [ebp - 0x44]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x50]
push edx
push eax
push ecx
call fcn.1002ce50
add esp, 0x14
jmp case.0x10047280.1
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x54]
push eax
push 0x5a57
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], edx
push ecx
lea edx, [ebp - 4]
push edx
call fcn.1003e770
add esp, 0x10
test al, al
je case.0x10047280.104
xor eax, eax
lea edx, [ebp - 0x44]
mov dword [ebp - 0x48], eax
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.1006cfe0
add esp, 0xc
mov dword [ebp - 0x30], 0
jmp case.0x10047280.1
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], edx
push ecx
lea edx, [ebp - 4]
push edx
push 0x5cfe
mov dword [ebp - 0x4c], 0
call fcn.10009750
add esp, 0x10
jmp case.0x10047280.1
mov ebx, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
push eax
push 0x5a57
lea ecx, [ebp - 0x9c]
push ecx
lea edx, [ebp - 4]
push edx
mov dword [ebp - 4], ebx
call fcn.1003e770
add esp, 0x10
test al, al
je case.0x10047280.104
mov ax, word [ebp - 0x30]
lea ecx, [ebp - 0x30]
push ecx
push 0x5a57
lea edx, [ebp - 4]
push 0x100772bd
push edx
mov word [ebp - 0x44], ax
mov dword [ebp - 4], ebx
call fcn.1003e770
add esp, 0x10
test al, al
je case.0x10047280.104
jmp case.0x10047280.1
mov eax, 0x6f
mov ecx, 0x6d
mov dword [ebp - 0x9c], 0x6f7266
mov word [ebp - 0x91], ax
mov word [ebp - 0x99], cx
jmp case.0x10047280.1
mov edx, 0x6c61
mov word [ebp - 0x70], dx
jmp case.0x10047280.1
cmp dword [ebp - 0x4c], 0
je case.0x10047280.104
mov dword [ebp - 0x54], 0xffffffff
add esi, 0xd
lea eax, [esi + 0x2c88]
cmp eax, 0x2cf0
jbe 0x10047270
mov ebx, dword [ebp - 0x64]
xor esi, esi
lea esp, [esp]
cmp esi, 0xaf
ja case.0x1004740f.1
movzx ecx, byte [esi + 0x10047ab0]
jmp dword [ecx*4 + 0x10047a94]
mov ebx, str.isaal
mov dword [ebp - 0x64], ebx
mov byte [ebp - 0x36], 0x69
mov byte [ebp - 0x34], 0x73
jmp case.0x1004740f.1
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], edx
push ecx
lea edx, [ebp - 4]
push edx
push 0x5cfe
mov dword [ebp - 0x40], 0
call fcn.10009750
add esp, 0x10
jmp case.0x1004740f.1
mov al, byte [ebx + 4]
mov byte [ebp - 0x37], al
mov byte [ebp - 0x33], 0
jmp case.0x1004740f.1
cmp dword [ebp - 0x40], 0
je case.0x10047280.104
mov ebx, dword [ebp - 0x64]
jmp case.0x1004740f.1
mov cl, byte [ebx + 2]
mov dl, byte [ebx + 3]
mov byte [ebp - 0x35], cl
mov byte [ebp - 0x38], dl
add esi, 0x23
lea eax, [esi + 0x2bf7]
cmp eax, 0x2ca6
jbe 0x10047400
jmp case.0x10047280.104
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x40]
push edx
push 0x551d
push eax
call fcn.10046fc0
add esp, 0xc
mov ebx, 0x2d1a
cmp dword [ebp - 0x3c], 0
je case.0x1004752e.21811
mov ecx, dword [ebp - 0x3c]
push 0
lea edx, [ebp - 4]
push edx
push 0
push 0
push 0x631e
mov dword [ebp - 4], ecx
call fcn.1000d230
add esp, 0x14
jmp case.0x1004752e.21811
mov byte [ebp + 0xf], 1
jmp case.0x1004752e.21811
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0x1a13
push 0
push eax
call fcn.10046d80
add esp, 0xc
mov dword [ebp - 0x3c], eax
test eax, eax
jne case.0x1004752e.21811
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x28], str.elvMexFoAEi
mov word [ebp - 0x1e], 0x656c
jmp case.0x1004752e.21811
lea eax, [ebx - 0x5532]
cmp eax, 0xfc
ja case.0x1004752e.21811
movzx ecx, byte [eax + 0x10047b98]
jmp dword [ecx*4 + 0x10047b60]
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 2]
mov byte [ebp - 0x22], al
jmp case.0x1004752e.21811
mov ecx, dword [ebp - 0x28]
mov dl, byte [ecx + 8]
mov byte [ebp - 0x1a], dl
jmp case.0x1004752e.21811
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
push ecx
push 0x53b0
call fcn.10062d30
add esp, 0xc
mov dword [ebp - 0xb0], eax
jmp case.0x1004752e.21811
mov eax, dword [ebp - 0x28]
mov dl, byte [eax + 9]
mov al, byte [eax + 0xa]
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0x1f], al
mov byte [ebp - 0x19], 0
jmp case.0x1004752e.21811
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 3]
mov dl, byte [eax + 4]
mov al, byte [eax + 5]
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x21], dl
mov byte [ebp - 0x1b], al
jmp case.0x1004752e.21811
xor ecx, ecx
mov dword [ebp - 0x78], 0x6c006c
mov word [ebp - 0x74], cx
mov dword [ebp - 0xb8], ecx
jmp case.0x1004752e.21811
mov dword [ebp - 0xb4], 0
jmp case.0x1004752e.21811
mov edx, 0x33
mov eax, 0x64
mov word [ebp - 0x80], dx
mov dword [ebp - 0x7e], 0x2e0032
mov word [ebp - 0x7a], ax
jmp case.0x1004752e.21811
mov dword [ebp - 0x8c], 0x65006b
mov dword [ebp - 0x88], 0x6e0072
jmp case.0x1004752e.21811
mov dword [ebp - 0x84], 0x6c0065
jmp case.0x1004752e.21811
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 6]
mov dl, byte [eax + 7]
mov byte [ebp - 0x20], cl
mov byte [ebp - 0x23], dl
jmp case.0x1004752e.21811
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa8]
push 0
push 0
push eax
mov eax, dword [ebp - 0xb8]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_SendMessageCallbackA]
mov esi, dword [edi]
mov dword [ebp - 0x58], esi
cmp esi, dword [edi + 4]
je case.0x1004752e.21811
lea esp, [esp]
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10047696
test dl, dl
je 0x10047692
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10047696
add eax, 2
add ecx, 2
test dl, dl
jne 0x10047676
xor eax, eax
jmp 0x1004769b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10047817
mov ebx, 0x4862
jmp 0x100476b0
cmp ebx, 0x496a
ja 0x100477b6
je 0x100477a0
mov eax, ebx
sub eax, 0x4862
je 0x10047716
sub eax, 0x58
je 0x100476e1
sub eax, 0x58
jne 0x10047808
mov dword [ebp - 0x2c], eax
jmp 0x10047808
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x100476fc
mov edx, dword [ebp - 0x2c]
push 4
push eax
push edx
call dword [ebp - 0xb0]
mov eax, dword [ebp - 0x2c]
push 0
push 0
push 0x1313
push eax
call fcn.10062ff0
add esp, 0x10
jmp 0x10047808
mov eax, dword [edi + 0x24]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10047720
sub eax, edx
mov ecx, eax
mov eax, dword [ebp + 8]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10047731
push 0x2f77
lea edx, [ebp - 0xa4]
push edx
sub eax, esi
lea ecx, [eax + ecx + 1]
push 0
push 0
mov dword [ebp - 0xa4], ecx
call fcn.10066470
mov ecx, dword [edi + 0x24]
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10047764
mov eax, dword [ebp + 8]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10047773
mov edi, dword [ebp - 0x2c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10047782
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp - 0x58]
jmp 0x10047808
mov eax, dword [ebp + 8]
push 0x28aa
push 0
push edi
push eax
call fcn.1003ff40
add esp, 0x10
jmp 0x10047808
mov eax, ebx
sub eax, 0x49c2
je 0x100477e5
sub eax, 0x58
jne 0x10047808
mov ebx, 0x562e
add ebx, 0x15
mov dword [ebp - 4], ebx
cmp ebx, dword [ebp - 0xac]
jbe 0x10046ff0
mov al, byte [ebp + 0xf]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
push 0
push ecx
push edi
push 0x2448
call fcn.1003a3d0
add esp, 0x10
push esi
lea edx, [ebp - 0xbc]
push edx
mov ecx, edi
call fcn.1006d180
add ebx, 0x58
cmp ebx, 0x4a1a
jbe 0x100476b0
add esi, 0x20
mov dword [ebp - 0x58], esi
cmp esi, dword [edi + 4]
jne 0x10047670
mov ebx, dword [ebp - 4]
jmp case.0x1004752e.21811