Function at 0x402d50
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9bc
push ebx
push esi
push edi
mov dword [ebp - 0x6c8], str.1234
mov dword [ebp - 0x6e0], str.5678
mov dword [ebp - 0x988], 0
push 0
mov eax, dword [ebp - 0x6e0]
push eax
lea ecx, [ebp - 0x988]
push ecx
mov edx, dword [ebp - 0x6c8]
push edx
call fcn.00402c90
add esp, 0x10
mov byte [ebp - 0x970], 0x63
mov byte [ebp - 0x6e4], 1
jmp 0x402db7
mov al, byte [ebp - 0x6e4]
add al, 1
mov byte [ebp - 0x6e4], al
mov ecx, dword [ebp - 0x6e4]
and ecx, 0xff
cmp ecx, 0x2c
jge 0x402df7
mov edx, dword [ebp - 0x6e4]
and edx, 0xff
xor eax, eax
mov al, byte [ebp + edx - 0x971]
sub eax, 0x61c88647
mov ecx, dword [ebp - 0x6e4]
and ecx, 0xff
mov byte [ebp + ecx - 0x970], al
jmp 0x402da9
mov byte [ebp - 0x6e4], 0
jmp 0x402e0f
mov dl, byte [ebp - 0x6e4]
add dl, 1
mov byte [ebp - 0x6e4], dl
mov ecx, dword [ebp - 0x6e4]
and ecx, 0xff
mov eax, dword [ebp - 0x984]
and eax, 0xff
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp ecx, eax
jge 0x402e5a
mov edx, dword [ebp - 0x6e4]
and edx, 0xff
mov eax, dword [ebp - 0x6e4]
and eax, 0xff
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x978], cl
jmp 0x402e00
mov eax, dword [ebp - 0x984]
and eax, 0xff
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
sub eax, 1
mov byte [ebp - 0x448], al
mov byte [ebp - 0x6dc], 0
mov dl, byte [ebp - 0x6dc]
mov byte [ebp - 0x6c4], dl
mov al, byte [ebp - 0x6c4]
mov byte [ebp - 0x418], al
mov cl, byte [ebp - 0x418]
mov byte [ebp - 0x40c], cl
mov byte [ebp - 0x6e4], 0
jmp 0x402eba
mov dl, byte [ebp - 0x6e4]
add dl, 1
mov byte [ebp - 0x6e4], dl
mov eax, dword [ebp - 0x6e4]
and eax, 0xff
cmp eax, 0x84
jge 0x402f8b
mov ecx, dword [ebp - 0x6c4]
and ecx, 0xff
mov dl, byte [ebp - 0x40c]
mov byte [ebp + ecx - 0x970], dl
mov eax, dword [ebp - 0x6dc]
and eax, 0xff
mov cl, byte [ebp - 0x418]
mov byte [ebp + eax - 0x978], cl
mov edx, dword [ebp - 0x6c4]
and edx, 0xff
cmp edx, 0x2b
jne 0x402f1e
mov dword [ebp - 0x9b8], 0
jmp 0x402f32
mov eax, dword [ebp - 0x6c4]
and eax, 0xff
add eax, 1
mov dword [ebp - 0x9b8], eax
mov cl, byte [ebp - 0x9b8]
mov byte [ebp - 0x6c4], cl
mov edx, dword [ebp - 0x6dc]
and edx, 0xff
mov eax, dword [ebp - 0x448]
and eax, 0xff
cmp edx, eax
jne 0x402f65
mov dword [ebp - 0x9bc], 0
jmp 0x402f7a
mov ecx, dword [ebp - 0x6dc]
and ecx, 0xff
add ecx, 1
mov dword [ebp - 0x9bc], ecx
mov dl, byte [ebp - 0x9bc]
mov byte [ebp - 0x6dc], dl
jmp 0x402eab
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 - 0x6b4], 0
jmp 0x403010
mov eax, dword [ebp - 0x6b4]
add eax, 1
mov dword [ebp - 0x6b4], eax
cmp dword [ebp - 0x6b4], 0x7a120
jge 0x40303f
mov dword [ebp - 0x990], 0x3f43
mov ecx, dword [ebp - 0x6b4]
mov byte [ecx + 0x40bd24], 0x7a
mov dword [ebp - 0x98c], 2
jmp 0x403001
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 - 0x6b0], 1
mov dword [ebp - 0x6d8], 0
mov dword [ebp - 0x440], 3
mov dword [ebp - 0x414], 0
mov eax, dword [0x49f708]
cdq
mov ecx, 0x4931
idiv ecx
mov dword [0x40bca4], eax
mov dword [ebp - 0x43c], 4
mov edx, dword [ebp + 8]
mov dword [ebp - 0x6ac], edx
mov dword [ebp - 0x944], 0x181732a0
mov eax, dword [ebp - 0x6ac]
mov ecx, dword [ebp - 0x6ac]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x940], ecx
mov dword [ebp - 0x6a4], 0x5f7
mov dword [ebp - 0x980], 0x3588
mov edx, dword [ebp - 0x940]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x438], 0x2d1b
mov ecx, dword [ebp - 0x940]
cmp dword [ecx], 0x4550
je 0x40315c
mov dword [ebp - 0x994], 1
xor eax, eax
jmp 0x4037d9
mov byte [0x4a1fc0], 0xa1
mov edx, dword [ebp - 0x940]
add edx, 0xa0
mov dword [ebp - 0x97c], edx
mov dword [ebp - 0x444], 1
mov eax, dword [ebp - 0x97c]
cmp dword [eax + 4], 0
jbe 0x403202
mov ecx, dword [ebp - 0x97c]
cmp dword [ecx], 0
jbe 0x403202
mov edx, dword [ebp - 0x940]
mov eax, dword [ebp - 0x6d8]
sub eax, dword [edx + 0x34]
mov dword [ebp - 0x9a0], eax
mov dword [ebp - 0x9a8], 0x1ae87d1c
mov ecx, dword [ebp - 0x940]
mov edx, dword [ebp - 0x6ac]
sub edx, dword [ecx + 0x34]
mov dword [ebp - 0x99c], edx
mov dword [ebp - 0x998], 0x17f4dc80
mov eax, dword [ebp - 0x97c]
mov ecx, dword [ebp - 0x414]
add ecx, dword [eax]
mov dword [ebp - 0x9a4], ecx
mov eax, dword [0x49f708]
cdq
mov ecx, 0xd5d
idiv ecx
mov eax, dword [0x40bca4]
imul eax, edx
mov dword [0x49f708], eax
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 - 0x6d4], 0x61
mov byte [ebp - 0x6d3], 0x62
mov byte [ebp - 0x6d2], 0x63
mov byte [ebp - 0x6d1], 0x64
mov byte [ebp - 0x6d0], 0x65
xor ecx, ecx
mov byte [ebp - 0x6cf], 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 - 0x6c0], edx
mov byte [ebp - 0x6c4], 0
jmp 0x40330e
mov al, byte [ebp - 0x6c4]
add al, 1
mov byte [ebp - 0x6c4], al
mov ecx, dword [ebp - 0x6c4]
and ecx, 0xff
cmp ecx, 5
jge 0x403330
mov edx, dword [ebp - 0x6c0]
add edx, 4
mov dword [ebp - 0x6c0], edx
jmp 0x403300
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 - 0x6d4]
mov dword [ebp - 0x6c0], eax
mov byte [ebp - 0x6c4], 0
jmp 0x4033b7
mov cl, byte [ebp - 0x6c4]
add cl, 1
mov byte [ebp - 0x6c4], cl
mov edx, dword [ebp - 0x6c4]
and edx, 0xff
cmp edx, 5
jge 0x4033d9
mov eax, dword [ebp - 0x6c0]
add eax, 1
mov dword [ebp - 0x6c0], eax
jmp 0x4033a8
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.004037e2
add esp, 4
mov dword [ebp - 0x9b0], eax
mov ecx, dword [ebp - 0x9b0]
mov dword [ebp - 0x41c], ecx
push 0x100
call fcn.004037e2
add esp, 4
mov dword [ebp - 0x9b4], eax
mov edx, dword [ebp - 0x9b4]
mov dword [ebp - 0x6cc], edx
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x410], 0
jmp 0x4034ba
mov eax, dword [ebp - 0x410]
add eax, 1
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0x100
jge 0x403500
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 - 0x6cc]
add eax, dword [ebp - 0x410]
mov cl, byte [ebp + edx - 0x6a0]
mov byte [eax], cl
jmp 0x4034ab
mov byte [ebp - 0x6dc], 0
mov dword [ebp - 0x410], 0
jmp 0x403522
mov edx, dword [ebp - 0x410]
add edx, 1
mov dword [ebp - 0x410], edx
cmp dword [ebp - 0x410], 0x100
jge 0x4035cb
mov eax, dword [ebp - 0x6dc]
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 - 0x6cc]
add ecx, dword [ebp - 0x410]
xor edx, edx
mov dl, byte [ecx]
add eax, edx
and eax, 0x800000ff
jns 0x40356f
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x6dc], al
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x410]
mov cl, byte [eax]
mov byte [ebp - 0x6bc], cl
mov edx, dword [ebp - 0x6dc]
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 - 0x6dc]
and eax, 0xff
mov ecx, dword [ebp - 0x41c]
mov dl, byte [ebp - 0x6bc]
mov byte [ecx + eax], dl
jmp 0x403513
mov byte [ebp - 0x6dc], 0
mov eax, dword [ebp - 0x6dc]
and eax, 0xff
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x6b8], 0
jmp 0x4035fe
mov ecx, dword [ebp - 0x6b8]
add ecx, 1
mov dword [ebp - 0x6b8], ecx
cmp dword [ebp - 0x6b8], 4
jae 0x403718
mov edx, dword [ebp - 0x410]
add edx, 1
and edx, 0x800000ff
jns 0x403624
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x6dc]
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 0x403655
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x6dc], al
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x410]
mov cl, byte [eax]
mov byte [ebp - 0x6bc], cl
mov edx, dword [ebp - 0x6dc]
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 - 0x6dc]
and eax, 0xff
mov ecx, dword [ebp - 0x41c]
mov dl, byte [ebp - 0x6bc]
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 - 0x6dc]
and edx, 0xff
mov eax, dword [ebp - 0x41c]
xor ebx, ebx
mov bl, byte [eax + edx]
add ecx, ebx
and ecx, 0x800000ff
jns 0x4036e5
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 - 0x6b8]
mov al, byte [ebp + edx - 0x93c]
xor al, byte [ecx]
mov ecx, dword [ebp - 0x6b8]
mov byte [ebp + ecx - 0x93c], al
jmp 0x4035ef
mov dword [ebp - 0x6a8], 0x23fb095
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.00401ed0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10