Function at 0x412b10
Capabilities:
Delete file

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0
call fcn.00452bb0
mov dword [esp + 0x28], eax
call fcn.004512b0
mov dword [esp + 8], 0
mov dword [esp + 4], str.swdb.lst
mov dword [esp], eax
call fcn.00446f10
mov ebp, eax
test eax, eax
je 0x4131d0
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x412d80
mov edi, dword [0x490808]
test edi, edi
je 0x412de0
mov edi, dword [esp + 0x28]
mov eax, edi
sub eax, dword [0x490804]
cmp eax, 0xe0f
jg 0x412bf0
mov dword [esp], 0
xor edi, edi
xor esi, esi
xor ebx, ebx
call sub.libgpg_error_0.dll_gpgrt_fclose
xor edx, edx
mov dword [esp], edx
call sub.libgcrypt_20.dll_gcry_free
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_fclose
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_fclose
mov dword [esp], edi
call sub.libgcrypt_20.dll_gcry_free
mov dword [esp], esi
call sub.libgcrypt_20.dll_gcry_free
mov dword [esp], ebp
call sub.libgcrypt_20.dll_gcry_free
add esp, 0x7c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x47f9be
mov dword [esp], ebp
mov dword [0x490804], edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call sub.libgpg_error_0.dll_gpgrt_fopen
mov dword [esp + 0x2c], eax
test eax, eax
je 0x413280
mov dword [esp + 0x44], 0x800
mov ebx, 0xffffffff
mov dword [esp + 0x24], 0xffffffff
lea esi, [esi]
nop
lea eax, [esp + 0x44]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_read_line
test eax, eax
jle 0x413101
mov esi, dword [esp + 0x44]
test esi, esi
je 0x4131f0
sub eax, 1
lea esi, [esi]
nop
mov edx, dword [esp + 0x3c]
lea esi, [edx + eax]
movzx ecx, byte [esi]
cmp cl, 0xa
je 0x412c94
cmp cl, 0xd
jne 0x412ca3
sub eax, 1
mov byte [esi], 0
cmp eax, 0xffffffff
jne 0x412c80
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x50]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00447c50
cmp eax, 1
jbe 0x412c40
mov eax, dword [esp + 0x50]
cmp byte [eax], 0x23
je 0x412c40
cmp dword [esp + 0x24], 0xffffffff
je 0x412d30
cmp ebx, 0xffffffff
jne 0x412c40
mov esi, eax
mov edi, str..verified
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
jne 0x412c40
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.004530b0
test eax, eax
je 0x412c40
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.00453200
mov ebx, eax
jmp 0x412c40
mov edi, str..filedate
mov ecx, 0xa
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta dl
sbb dl, 0
test dl, dl
jne 0x412cd4
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.004530b0
test eax, eax
je 0x412c40
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.00453200
mov dword [esp + 0x24], eax
jmp 0x412c40
mov dword [esp + 0x24], 0
call fcn.00451560
mov dword [esp + 8], 0
mov dword [esp + 4], str.distsigkey.gpg
mov dword [esp], eax
call fcn.00446f10
mov edi, eax
test eax, eax
je 0x413250
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x34]
mov edx, str.https:__versions.gnupg.org_swdb.lst
call fcn.00412850
mov ebx, eax
test eax, eax
je 0x412e10
mov dword [esp], 0
xor esi, esi
call sub.libgpg_error_0.dll_gpgrt_fclose
xor edx, edx
jmp 0x412bab
mov dword [0x490808], 0x69780
call fcn.0044fc40
mov edx, 0xc22e4507
mov ecx, eax
mul edx
shr edx, 0x11
imul edx, edx, 0x2a300
sub ecx, edx
add dword [0x490808], ecx
jmp 0x412b84
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x38]
mov edx, str.https:__versions.gnupg.org_swdb.lst.sig
call fcn.00412850
mov ebx, eax
test eax, eax
jne 0x412dca
lea ebx, [esp + 0x50]
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.00457d50
mov dword [esp + 4], str.__enable_special_filenames
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], str.__status_fd2
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], str.__keyring
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], 0x47fa63
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], 0x47fa66
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], 0x47fa72
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.00457dc0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.00457ee0
mov edx, eax
test eax, eax
je 0x4133be
test byte [0x4913e1], 0x40
jne 0x413350
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov dword [esp], 0xc
mov dword [esp + 0x2c], edx
call fcn.004518a0
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x48]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x14], 0x412a60
mov dword [esp + 0x10], 0
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.00461a30
mov edx, dword [esp + 0x2c]
test eax, eax
mov ebx, eax
jne 0x413310
mov eax, dword [0x4913e0]
and eax, 0x4000
cmp dword [esp + 0x48], 0xffffffff
je 0x413400
test eax, eax
jne 0x41350f
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x412f6e
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x48], eax
jle 0x413331
mov dword [esp + 0x24], edx
call sub.msvcrt.dll__getpid
mov dword [esp], str.tmp__u_swdb
mov dword [esp + 4], eax
call sub.libgpg_error_0.dll_gpgrt_bsprintf
mov edx, dword [esp + 0x24]
test eax, eax
mov ebx, eax
je 0x4133c2
mov dword [esp + 0x24], edx
call fcn.004512b0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00446f10
mov dword [esp], ebx
mov esi, eax
call sub.libgcrypt_20.dll_gcry_free
test esi, esi
mov edx, dword [esp + 0x24]
je 0x41348d
mov dword [esp + 4], 0x47faa6
mov dword [esp], esi
mov dword [esp + 0x24], edx
call sub.libgpg_error_0.dll_gpgrt_fopen
mov edx, dword [esp + 0x24]
test eax, eax
je 0x4134be
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
lea ebx, [esp + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.00453350
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 4], str..filedate__s_n
mov dword [esp], ecx
call sub.libgpg_error_0.dll_gpgrt_fprintf
mov eax, dword [esp + 0x28]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00453350
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 4], str..verified__s_n
mov dword [esp], ecx
call sub.libgpg_error_0.dll_gpgrt_fprintf
mov eax, dword [esp + 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_fseek
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
test eax, eax
jne 0x413436
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 0x28], edx
mov dword [esp], eax
mov dword [esp + 0x24], ecx
call fcn.00416100
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
test eax, eax
mov ebx, eax
jne 0x413369
mov dword [esp], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
call sub.libgpg_error_0.dll_gpgrt_fclose
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
test eax, eax
jne 0x4134f2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], esi
mov dword [esp + 0x24], edx
call fcn.00450120
xor ecx, ecx
mov edx, dword [esp + 0x24]
test eax, eax
mov ebx, eax
jne 0x4133a1
mov dword [esp], esi
xor esi, esi
call sub.libgcrypt_20.dll_gcry_free
mov dword [esp], 0
call sub.libgpg_error_0.dll_gpgrt_fclose
mov edx, dword [esp + 0x24]
jmp 0x412bab
jne 0x413170
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_ferror
test eax, eax
jne 0x413170
cmp dword [esp + 0x24], 0xffffffff
je 0x41311f
cmp ebx, 0xffffffff
jne 0x413187
mov dword [esp], 0xa0000a1
call sub.libgpg_error_0.dll_gpg_strerror
mov dword [esp], str.error_reading__s:__s_n
mov ebx, eax
call sub.libgpg_error_0.dll__gpg_w32_gettext
mov dword [esp + 8], ebx
xor ebx, ebx
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0044dbb0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_fclose
mov dword [esp + 0x24], 0
jmp 0x41319f
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
jne 0x4132a5
mov dword [esp + 0x24], 0
xor ebx, ebx
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_fclose
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
cmp ecx, esi
jle 0x412b97
mov eax, ecx
sub eax, esi
cmp eax, dword [0x490808]
jl 0x412b97
cmp ecx, ebx
jge 0x412d88
jmp 0x412b97
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
je 0x412b97
movzx ebx, ax
or ebx, 0xa000000
jmp 0x413237
mov dword [esp], 0xa000061
call sub.libgpg_error_0.dll_gpg_strerror
mov dword [esp], str.error_reading__s:__s_n
mov ebx, eax
call sub.libgpg_error_0.dll__gpg_w32_gettext
mov dword [esp + 8], ebx
mov ebx, 0xa000061
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0044dbb0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_fclose
mov dword [esp], 0
xor edi, edi
xor esi, esi
call sub.libgpg_error_0.dll_gpgrt_fclose
xor edx, edx
jmp 0x412bab
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
je 0x412b97
mov dword [esp], 0
movzx ebx, ax
xor esi, esi
or ebx, 0xa000000
call sub.libgpg_error_0.dll_gpgrt_fclose
xor edx, edx
jmp 0x412bab
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
je 0x412c22
movzx esi, ax
mov ebx, esi
or ebx, 0xa000000
cmp esi, 0x8051
jne 0x4132b0
jmp 0x41317d
movzx esi, ax
mov ebx, esi
or ebx, 0xa000000
mov dword [esp], ebx
call sub.libgpg_error_0.dll_gpg_strerror
mov dword [esp], str.error_reading__s:__s_n
mov edi, eax
call sub.libgpg_error_0.dll__gpg_w32_gettext
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0044dbb0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_fclose
cmp esi, 0xa1
jne 0x413237
xor ebx, ebx
mov dword [esp + 0x24], 0
jmp 0x41319f
test byte [0x4913e1], 0x40
je 0x413331
mov dword [esp + 4], ebx
mov dword [esp], str.gpgv_finished:_err_d_n
mov dword [esp + 0x24], edx
call fcn.0044ddd0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x24], edx
mov dword [esp], 0
xor esi, esi
call sub.libgpg_error_0.dll_gpgrt_fclose
mov edx, dword [esp + 0x24]
jmp 0x412bab
mov dword [esp], str.starting_gpgv_n
mov dword [esp + 0x2c], eax
call fcn.0044ddd0
mov edx, dword [esp + 0x2c]
jmp 0x412ee2
mov dword [esp + 0x2c], ecx
mov dword [esp], ebx
call sub.libgpg_error_0.dll_gpg_strerror
mov dword [esp], str.error_writing__s:__s_n
mov dword [esp + 0x24], eax
call sub.libgpg_error_0.dll__gpg_w32_gettext
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.0044dbb0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov dword [esp + 0x24], edx
call sub.libgpg_error_0.dll_gpgrt_fclose
mov dword [esp], esi
call fcn.00450110
mov edx, dword [esp + 0x24]
jmp 0x412bab
mov dword [esp + 0x24], eax
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
mov edx, dword [esp + 0x24]
test eax, eax
mov ebx, eax
je 0x413335
mov dword [esp], 0
movzx ebx, ax
xor esi, esi
mov dword [esp + 0x24], edx
or ebx, 0xa000000
call sub.libgpg_error_0.dll_gpgrt_fclose
mov edx, dword [esp + 0x24]
jmp 0x412bab
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x41345f
mov ebx, 0xa000008
test eax, eax
je 0x413331
mov dword [esp + 4], 0xa000008
mov dword [esp], str.gpgv_finished:_err_d_n
mov dword [esp + 0x24], edx
call fcn.0044ddd0
mov edx, dword [esp + 0x24]
jmp 0x413331
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov ebx, eax
movzx eax, ax
or eax, 0xa000000
test ebx, ebx
cmovne ebx, eax
jmp 0x4133a1
mov ebx, 0xa0000a1
test eax, eax
je 0x413331
mov dword [esp + 4], 0xa0000a1
mov dword [esp], str.gpgv_finished:_err_d_n
mov dword [esp + 0x24], edx
call fcn.0044ddd0
mov edx, dword [esp + 0x24]
jmp 0x413331
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
mov edx, dword [esp + 0x24]
test eax, eax
mov ebx, eax
je 0x4134a9
mov dword [esp + 0x24], edx
movzx ebx, ax
or ebx, 0xa000000
mov dword [esp], 0
call sub.libgpg_error_0.dll_gpgrt_fclose
mov edx, dword [esp + 0x24]
jmp 0x412bab
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
mov ebx, eax
movzx eax, ax
or eax, 0xa000000
test ebx, ebx
cmovne ebx, eax
mov dword [esp], ebx
call sub.libgpg_error_0.dll_gpg_strerror
mov dword [esp], str.error_creating__s:__s_n
mov dword [esp + 0x24], eax
jmp 0x413380
mov dword [esp + 0x2c], ecx
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
mov ebx, eax
movzx eax, ax
or eax, 0xa000000
test ebx, ebx
cmovne ebx, eax
jmp 0x41336d
mov dword [esp + 4], 0
mov dword [esp], str.gpgv_finished:_err_d_n
mov dword [esp + 0x2c], edx
call fcn.0044ddd0
mov edx, dword [esp + 0x2c]
jmp 0x412f55