Function at 0x402cd0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9bc
push ebx
push esi
push edi
mov dword [ebp - 0x6b4], str.1234
mov dword [ebp - 0x6d4], str.5678
mov dword [ebp - 0x984], 0
push 0
mov eax, dword [ebp - 0x6d4]
push eax
lea ecx, [ebp - 0x984]
push ecx
mov edx, dword [ebp - 0x6b4]
push edx
call fcn.00402c10
add esp, 0x10
mov byte [ebp - 0x968], 0x63
mov byte [ebp - 0x6e0], 1
jmp 0x402d37
mov al, byte [ebp - 0x6e0]
add al, 1
mov byte [ebp - 0x6e0], al
mov ecx, dword [ebp - 0x6e0]
and ecx, 0xff
cmp ecx, 0x2c
jge 0x402d77
mov edx, dword [ebp - 0x6e0]
and edx, 0xff
xor eax, eax
mov al, byte [ebp + edx - 0x969]
sub eax, 0x61c88647
mov ecx, dword [ebp - 0x6e0]
and ecx, 0xff
mov byte [ebp + ecx - 0x968], al
jmp 0x402d29
mov byte [ebp - 0x6e0], 0
jmp 0x402d8f
mov dl, byte [ebp - 0x6e0]
add dl, 1
mov byte [ebp - 0x6e0], dl
mov ecx, dword [ebp - 0x6e0]
and ecx, 0xff
mov eax, dword [ebp - 0x980]
and eax, 0xff
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp ecx, eax
jge 0x402dda
mov edx, dword [ebp - 0x6e0]
and edx, 0xff
mov eax, dword [ebp - 0x6e0]
and eax, 0xff
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x970], cl
jmp 0x402d80
mov eax, dword [ebp - 0x980]
and eax, 0xff
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
sub eax, 1
mov byte [ebp - 0x438], al
mov byte [ebp - 0x6d0], 0
mov dl, byte [ebp - 0x6d0]
mov byte [ebp - 0x6b0], dl
mov al, byte [ebp - 0x6b0]
mov byte [ebp - 0x418], al
mov cl, byte [ebp - 0x418]
mov byte [ebp - 0x40c], cl
mov byte [ebp - 0x6e0], 0
jmp 0x402e3a
mov dl, byte [ebp - 0x6e0]
add dl, 1
mov byte [ebp - 0x6e0], dl
mov eax, dword [ebp - 0x6e0]
and eax, 0xff
cmp eax, 0x84
jge 0x402f0b
mov ecx, dword [ebp - 0x6b0]
and ecx, 0xff
mov dl, byte [ebp - 0x40c]
mov byte [ebp + ecx - 0x968], dl
mov eax, dword [ebp - 0x6d0]
and eax, 0xff
mov cl, byte [ebp - 0x418]
mov byte [ebp + eax - 0x970], cl
mov edx, dword [ebp - 0x6b0]
and edx, 0xff
cmp edx, 0x2b
jne 0x402e9e
mov dword [ebp - 0x9b8], 0
jmp 0x402eb2
mov eax, dword [ebp - 0x6b0]
and eax, 0xff
add eax, 1
mov dword [ebp - 0x9b8], eax
mov cl, byte [ebp - 0x9b8]
mov byte [ebp - 0x6b0], cl
mov edx, dword [ebp - 0x6d0]
and edx, 0xff
mov eax, dword [ebp - 0x438]
and eax, 0xff
cmp edx, eax
jne 0x402ee5
mov dword [ebp - 0x9bc], 0
jmp 0x402efa
mov ecx, dword [ebp - 0x6d0]
and ecx, 0xff
add ecx, 1
mov dword [ebp - 0x9bc], ecx
mov dl, byte [ebp - 0x9bc]
mov byte [ebp - 0x6d0], dl
jmp 0x402e2b
push eax
lea edi, [edi - 0xb5]
lea edi, [edi + 0xb5]
btc esi, 0x8d
xor eax, esi
xor eax, esi
btc esi, 0x8d
push edx
lea edx, [edx + esi*4 + 0x263027]
push edi
pop edx
lea edi, [edi + 0xdd0e6]
pop edi
xchg edi, edx
pop eax
test edi, ebp
push eax
ror edi, 0xf6
rol edi, 0xf6
ror bl, 0x3f
xor ebp, ebx
xor ebp, ebx
rol bl, 0x3f
test eax, 0x1cc70
pop eax
xor ecx, esi
xor ecx, esi
push eax
lea ebx, [ebx + 0x81693d]
lea ebx, [ebx - 0x81693d]
test bp, cx
cmp eax, 0x844529
pop eax
push 0x4e
push 0
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov dword [ebp - 0x698], 0
jmp 0x402f90
mov eax, dword [ebp - 0x698]
add eax, 1
mov dword [ebp - 0x698], eax
cmp dword [ebp - 0x698], 0x7a120
jge 0x402fbf
mov dword [ebp - 0x988], 0x2450
mov ecx, dword [ebp - 0x698]
mov byte [ecx + 0x40bd24], 0x7a
mov dword [ebp - 0x98c], 0x43c1
jmp 0x402f81
push eax
add dl, 0x54
add dl, 0x51
sub dl, 0xbe
add dl, 0x19
btc esi, 0x8d
xor dx, 0x1cee
xor dx, 0x3c5b
xor dx, 0xdefd
xor dx, 0xfe48
btc esi, 0x8d
cmp cx, 0xf324
pop eax
xor ah, dh
xor ah, dh
push eax
sub bh, dh
add bh, dh
ror bl, 0x3f
xor ah, dh
xor ah, dh
rol bl, 0x3f
xor cl, bl
xor cl, bl
pop eax
sub ch, cl
add ch, cl
push eax
cmp dl, ch
test bp, cx
xor al, 0xdd
xor al, 0xd9
xor al, 0xda
xor al, 0xde
pop eax
push str.check
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x97c], 1
mov dword [ebp - 0x6cc], 0
mov dword [ebp - 0x6c8], 3
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x6a8], 0x4a91
mov eax, dword [0x49f708]
cdq
mov ecx, 0x255a
idiv ecx
mov eax, dword [0x40bca4]
imul eax, edx
mov dword [0x49f708], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x694], ecx
mov dword [ebp - 0x978], 3
mov edx, dword [ebp - 0x694]
mov eax, dword [ebp - 0x694]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x93c], eax
mov byte [0x4a1f25], 0x9e
mov dword [ebp - 0x6dc], 0x449f
mov ecx, dword [ebp - 0x93c]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x6c4], 0x9d04c6e
mov eax, dword [ebp - 0x93c]
cmp dword [eax], 0x4550
je 0x4030e1
mov dword [ebp - 0x990], 0x4870f83
xor eax, eax
jmp 0x40375a
cmp dword [0x49e4ec], 0xfa9
jne 0x4030f4
mov byte [0x4a1f2f], 0x41
mov ecx, dword [ebp - 0x93c]
add ecx, 0xa0
mov dword [ebp - 0x974], ecx
mov dword [ebp - 0x6a4], 0xc751c76
mov edx, dword [ebp - 0x974]
cmp dword [edx + 4], 0
jbe 0x403183
mov eax, dword [ebp - 0x974]
cmp dword [eax], 0
jbe 0x403183
mov ecx, dword [ebp - 0x93c]
mov edx, dword [ebp - 0x6cc]
sub edx, dword [ecx + 0x34]
mov dword [ebp - 0x9a0], edx
mov dword [ebp - 0x994], 0x38c9
mov eax, dword [ebp - 0x93c]
mov ecx, dword [ebp - 0x694]
sub ecx, dword [eax + 0x34]
mov dword [ebp - 0x998], ecx
mov dword [ebp - 0x99c], 0x31113d8
mov edx, dword [ebp - 0x974]
mov eax, dword [ebp - 0x414]
add eax, dword [edx]
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x9a8], 0x11f4e898
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 1
mov dword [ebp - 0x42c], 2
mov dword [ebp - 0x428], 3
mov dword [ebp - 0x424], 4
mov dword [ebp - 0x420], 5
mov byte [ebp - 0x6c0], 0x61
mov byte [ebp - 0x6bf], 0x62
mov byte [ebp - 0x6be], 0x63
mov byte [ebp - 0x6bd], 0x64
mov byte [ebp - 0x6bc], 0x65
xor ecx, ecx
mov byte [ebp - 0x6bb], cl
push eax
sub ebp, 0x220153
add ebp, 0x9c48
lea ebp, [ebp + 0x21650b]
btc esi, 0x8d
push ebp
lea ebp, [ebp + ebp*4]
push eax
setne ah
xchg dword [esp], ebp
lea esp, [esp + 4]
pop eax
xchg ebp, eax
btc esi, 0x8d
lea ebx, [ebx - 0x4e]
lea ebx, [ebx + 0x4e]
pop eax
test eax, edi
push eax
xor ebp, edi
xor ebp, edi
ror bl, 0x3f
push ebp
push esi
lea esi, [esi + 0x661b9a]
pop ebp
xchg dword [esp], esi
lea esp, [esp + 4]
xchg ebp, esi
rol bl, 0x3f
cmp ecx, 0x170b5b
pop eax
cmp ebx, 0x6e1640
push eax
sub ecx, esi
add ecx, esi
test bp, cx
push ebp
push ebx
lea ebx, [ebx + 0x1c2b2b]
xchg dword [esp], ebp
lea ebx, [esi + esi*4 + 0x234ecd]
lea esp, [esp + 4]
pop ebx
xchg ebx, ebp
pop eax
lea edx, [ebp - 0x434]
mov dword [ebp - 0x6ac], edx
mov byte [ebp - 0x6b0], 0
jmp 0x40328f
mov al, byte [ebp - 0x6b0]
add al, 1
mov byte [ebp - 0x6b0], al
mov ecx, dword [ebp - 0x6b0]
and ecx, 0xff
cmp ecx, 5
jge 0x4032b1
mov edx, dword [ebp - 0x6ac]
add edx, 4
mov dword [ebp - 0x6ac], edx
jmp 0x403281
push eax
btc edx, 0xad
btc edx, 0xad
btc esi, 0x8d
cmp esi, ecx
btc esi, 0x8d
test esi, 0x2243a9
pop eax
xchg dword [esp], esi
xchg dword [esp], esi
push eax
ror eax, 0x42
rol eax, 0x42
ror bl, 0x3f
xor edi, 0x3d33f1
xor edi, 0x6bb8
xor edi, 0x3dfd85
xor edi, 0xa5cc
rol bl, 0x3f
btc eax, 0x34
btc eax, 0x34
pop eax
test ebp, 0x63fa76
push eax
xor edx, ecx
xor edx, ecx
test bp, cx
lea edx, [edx + 0x36]
lea edx, [edx - 0x36]
pop eax
lea eax, [ebp - 0x6c0]
mov dword [ebp - 0x6ac], eax
mov byte [ebp - 0x6b0], 0
jmp 0x403338
mov cl, byte [ebp - 0x6b0]
add cl, 1
mov byte [ebp - 0x6b0], cl
mov edx, dword [ebp - 0x6b0]
and edx, 0xff
cmp edx, 5
jge 0x40335a
mov eax, dword [ebp - 0x6ac]
add eax, 1
mov dword [ebp - 0x6ac], eax
jmp 0x403329
push eax
xor bx, si
xor bx, si
btc esi, 0x8d
xor dx, 0xf73
xor dx, 0x7cc5
xor dx, 0xae7
xor dx, 0x7951
btc esi, 0x8d
ror si, 2
rol si, 2
pop eax
xor bx, 0x1fdd
xor bx, 0xfe35
xor bx, 0xa079
xor bx, 0x4191
push eax
xor bp, bx
xor bp, bx
ror bl, 0x3f
test di, bx
rol bl, 0x3f
xor dx, 0xf37d
xor dx, 0xef5d
xor dx, 0xbe3c
xor dx, 0xa21c
pop eax
rol di, 0x7e
ror di, 0x7e
push eax
xor dx, ax
xor dx, ax
test bp, cx
xor bx, bp
xor bx, bp
pop eax
push 0x100
call fcn.00403763
add esp, 4
mov dword [ebp - 0x9b0], eax
mov ecx, dword [ebp - 0x9b0]
mov dword [ebp - 0x41c], ecx
push 0x100
call fcn.00403763
add esp, 4
mov dword [ebp - 0x9b4], eax
mov edx, dword [ebp - 0x9b4]
mov dword [ebp - 0x6b8], edx
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x410], 0
jmp 0x40343b
mov eax, dword [ebp - 0x410]
add eax, 1
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0x100
jge 0x403481
mov ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x410]
mov dl, byte [ebp - 0x410]
mov byte [ecx], dl
mov eax, dword [ebp - 0x410]
xor edx, edx
mov ecx, 0x258
div ecx
mov eax, dword [ebp - 0x6b8]
add eax, dword [ebp - 0x410]
mov cl, byte [ebp + edx - 0x690]
mov byte [eax], cl
jmp 0x40342c
mov byte [ebp - 0x6d0], 0
mov dword [ebp - 0x410], 0
jmp 0x4034a3
mov edx, dword [ebp - 0x410]
add edx, 1
mov dword [ebp - 0x410], edx
cmp dword [ebp - 0x410], 0x100
jge 0x40354c
mov eax, dword [ebp - 0x6d0]
and eax, 0xff
mov ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x410]
xor edx, edx
mov dl, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x6b8]
add ecx, dword [ebp - 0x410]
xor edx, edx
mov dl, byte [ecx]
add eax, edx
and eax, 0x800000ff
jns 0x4034f0
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x6d0], al
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x410]
mov cl, byte [eax]
mov byte [ebp - 0x6a0], cl
mov edx, dword [ebp - 0x6d0]
and edx, 0xff
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x41c]
mov dl, byte [ecx + edx]
mov byte [eax], dl
mov eax, dword [ebp - 0x6d0]
and eax, 0xff
mov ecx, dword [ebp - 0x41c]
mov dl, byte [ebp - 0x6a0]
mov byte [ecx + eax], dl
jmp 0x403494
mov byte [ebp - 0x6d0], 0
mov eax, dword [ebp - 0x6d0]
and eax, 0xff
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x69c], 0
jmp 0x40357f
mov ecx, dword [ebp - 0x69c]
add ecx, 1
mov dword [ebp - 0x69c], ecx
cmp dword [ebp - 0x69c], 4
jae 0x403699
mov edx, dword [ebp - 0x410]
add edx, 1
and edx, 0x800000ff
jns 0x4035a5
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x6d0]
and eax, 0xff
mov ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x410]
xor edx, edx
mov dl, byte [ecx]
add eax, edx
and eax, 0x800000ff
jns 0x4035d6
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x6d0], al
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x410]
mov cl, byte [eax]
mov byte [ebp - 0x6a0], cl
mov edx, dword [ebp - 0x6d0]
and edx, 0xff
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x41c]
mov dl, byte [ecx + edx]
mov byte [eax], dl
mov eax, dword [ebp - 0x6d0]
and eax, 0xff
mov ecx, dword [ebp - 0x41c]
mov dl, byte [ebp - 0x6a0]
mov byte [ecx + eax], dl
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x410]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x6d0]
and edx, 0xff
mov eax, dword [ebp - 0x41c]
xor ebx, ebx
mov bl, byte [eax + edx]
add ecx, ebx
and ecx, 0x800000ff
jns 0x403666
dec ecx
or ecx, 0xffffff00
inc ecx
mov dword [ebp - 0x9ac], ecx
mov ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x9ac]
mov edx, dword [ebp - 0x69c]
mov al, byte [ebp + edx - 0x938]
xor al, byte [ecx]
mov ecx, dword [ebp - 0x69c]
mov byte [ebp + ecx - 0x938], al
jmp 0x403570
mov dword [ebp - 0x6d8], 5
push eax
ror dh, 0x11
rol dh, 0x11
btc esi, 0x8d
xor ch, 0x39
xor ch, 0xee
xor ch, 0x34
xor ch, 0xe3
btc esi, 0x8d
add ah, ch
sub ah, ch
pop eax
add dh, 0x5a
sub dh, 0xe8
add dh, 0xe3
add dh, 0xab
push eax
bt ax, 0xaa
ror bl, 0x3f
cmp dx, 0x7fd7
rol bl, 0x3f
xchg dword [esp], ebp
xchg dword [esp], ebp
pop eax
xor bh, bl
xor bh, bl
push eax
test ch, al
test bp, cx
ror bl, 0xd1
rol bl, 0xd1
pop eax
push eax
add di, si
sub di, si
btc esi, 0x8d
cmp bl, 0xf5
btc esi, 0x8d
add dl, ah
sub dl, ah
pop eax
test ax, bp
push eax
push ebp
lea ebp, [ebp + ebp*2]
push ebx
movzx ebx, bh
pop ebp
mov ebx, 0x3d0
or ebx, 0x281020
xchg dword [esp], ebx
lea esp, [esp + 4]
xchg ebp, ebx
ror bl, 0x3f
cmp al, 0x2d
rol bl, 0x3f
test ecx, ebx
pop eax
rol ah, 0x25
ror ah, 0x25
push eax
btc ebp, 0x4a
btc ebp, 0x4a
test bp, cx
xor bl, dh
xor bl, dh
pop eax
call fcn.00401ea0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10