Function at 0x425f1d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0xe0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x425f4f
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x425f4f
jmp 0x425f69
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0x64], eax
and dword [ebp - 0x64], 0xff
jmp 0x425f88
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0x64], ecx
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x10]
dec dword [eax]
cmp dword [ebp + 0xc], 0xe
jne 0x4260a6
cmp dword [ebp - 0x10], 0x23
jne 0x4260a6
cmp dword [0x4fccc0], 0
je 0x426087
sub esp, 8
push str.:rfc1991_comment_packet:__
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
cmp dword [ebp + 0x10], 0
je 0x426071
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x425fed
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x425fed
jmp 0x426007
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0x68], eax
and dword [ebp - 0x68], 0xff
jmp 0x426026
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0x68], ecx
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x1f
jle 0x42604e
cmp dword [ebp - 0x38], 0x7a
jg 0x42604e
sub esp, 8
push dword [0x4fccd0]
push dword [ebp - 0x38]
call sub.msvcrt.dll_putc
add esp, 0x10
jmp 0x426067
sub esp, 4
push dword [ebp - 0x38]
push 0x4dc3e9
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
lea eax, [ebp + 0x10]
dec dword [eax]
jmp 0x425fca
sub esp, 8
push 0x4dc3f0
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
sub esp, 4
push 0
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.004a7189
add esp, 0x10
mov dword [ebp - 0x60], 0
jmp 0x4271dc
cmp dword [ebp - 0x10], 4
jne 0x4260b5
mov dword [ebp - 0x30], 1
jmp 0x4260e3
cmp dword [ebp - 0x10], 2
je 0x4260e3
cmp dword [ebp - 0x10], 3
je 0x4260e3
sub esp, 4
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push str.packet__d__with_unknown_version__d_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
cmp dword [ebp + 0x10], 0xa
ja 0x426108
sub esp, 8
push dword [ebp + 0xc]
push str.packet__d__too_short_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
sub esp, 0xc
push dword [ebp + 8]
call fcn.00422582
add esp, 0x10
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x10]
sub dword [eax], 4
cmp dword [ebp - 0x30], 0
je 0x426135
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
jmp 0x42618e
sub esp, 0xc
push dword [ebp + 8]
call fcn.004224a0
add esp, 0x10
mov word [ebp - 0x3a], ax
lea eax, [ebp + 0x10]
sub dword [eax], 2
cmp word [ebp - 0x3a], 0
je 0x426181
mov ax, word [ebp - 0x3a]
mov edx, eax
and edx, 0xffff
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
add eax, edx
shl eax, 3
add eax, edx
shl eax, 2
sub eax, edx
shl eax, 7
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x426188
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x4261a7
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x4261a7
jmp 0x4261c1
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0x6c], eax
and dword [ebp - 0x6c], 0xff
jmp 0x4261e0
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0x6c], ecx
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
dec dword [eax]
cmp dword [0x4fccc0], 0
je 0x42626e
sub esp, 4
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
cmp dword [ebp + 0xc], 6
je 0x426251
cmp dword [ebp + 0xc], 5
je 0x426242
cmp dword [ebp + 0xc], 0xe
je 0x426233
cmp dword [ebp + 0xc], 7
jne 0x426224
mov dword [ebp - 0x7c], str.secret_sub
jmp 0x42622b
mov dword [ebp - 0x7c], 0x4dc3fe
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x78], edx
jmp 0x42623a
mov dword [ebp - 0x78], str.public_sub
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x74], ecx
jmp 0x426249
mov dword [ebp - 0x74], str.secret
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x70], eax
jmp 0x426258
mov dword [ebp - 0x70], str.public
push dword [ebp - 0x70]
push str.:_s_key_packet:_n_tversion__d__algo__d__created__lu__expires__lu_n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x20
cmp dword [ebp + 0xc], 5
je 0x42627c
cmp dword [ebp + 0xc], 7
je 0x42627c
jmp 0x4262d7
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov dword [edx + 4], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x18]
mov byte [edx + 0xc], al
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov byte [edx + 0xd], al
mov edx, dword [ebp - 0x38]
cmp dword [ebp + 0xc], 5
sete al
mov byte [edx + 0x30], al
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov byte [edx + 0xe], al
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x10], 0
mov eax, dword [ebp - 0x38]
mov byte [eax + 0xf], 0
jmp 0x426355
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov dword [edx + 4], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x18]
mov byte [edx + 0x1c], al
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov byte [edx + 0x1d], al
mov edx, dword [ebp - 0x38]
cmp dword [ebp + 0xc], 6
sete al
mov byte [edx + 0x4c], al
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov byte [edx + 0x1f], al
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x21], 0
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x20], 0
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x28], 0
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x4d], 0
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x44], 0
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x48], 0
sub esp, 0xc
push dword [ebp - 0x14]
call fcn.00474f32
add esp, 0x10
mov dword [ebp - 0x2c], eax
sub esp, 0xc
push dword [ebp - 0x14]
call fcn.00474eb2
add esp, 0x10
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x4263ad
cmp dword [0x4fccc0], 0
je 0x42639f
sub esp, 4
push dword [ebp - 0x14]
push str._tunknown_algorithm__d_n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x14]
call fcn.00422780
add esp, 0x10
cmp dword [ebp + 0xc], 5
je 0x4263be
cmp dword [ebp + 0xc], 7
je 0x4263be
jmp 0x4270cb
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x5c], 0
cmp dword [ebp - 0x28], 0
jne 0x42640a
mov ebx, dword [ebp - 0x38]
sub esp, 4
push dword [ebp + 0x10]
sub esp, 0xc
push 0
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.00423710
add esp, 0x18
push eax
push 0
call fcn.0049cb4e
add esp, 0x10
mov dword [ebx + 0x60], eax
mov dword [ebp + 0x10], 0
jmp 0x4271c3
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
jge 0x4264bd
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0xc]
sub esp, 4
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.0049a3ed
add esp, 0x10
mov dword [ebx + esi*4 + 0x60], eax
mov edx, dword [ebp - 0x18]
lea eax, [ebp + 0x10]
sub dword [eax], edx
cmp dword [0x4fccc0], 0
je 0x42649f
sub esp, 4
push dword [ebp - 0xc]
push str._tskey__d_:
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
sub esp, 4
push dword [0x4fccb0]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
push dword [edx + eax*4 + 0x60]
push dword [0x4fccd0]
call fcn.0049ab0e
add esp, 0x10
sub esp, 8
push dword [0x4fccd0]
push 0xa
call sub.msvcrt.dll_putc
add esp, 0x10
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
cmp dword [edx + eax*4 + 0x60], 0
jne 0x4264b3
mov dword [ebp - 0x34], 0xe
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x426411
cmp dword [ebp - 0x34], 0
je 0x4264c8
jmp 0x4271c3
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x4264e7
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x4264e7
jmp 0x426505
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov byte [ebp - 0x81], al
mov al, 0xff
and byte [ebp - 0x81], al
jmp 0x426522
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
inc dword [eax + 0x1c]
mov dl, byte [edx]
mov byte [ebp - 0x81], dl
mov cl, byte [ebp - 0x81]
mov eax, dword [ebp - 0x80]
mov byte [eax + 0x34], cl
lea eax, [ebp + 0x10]
dec dword [eax]
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x35], 0
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x34], 0
je 0x426eab
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x31], 1
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x48], 0
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x34], 0xfe
je 0x42656f
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x34], 0xff
je 0x42656f
jmp 0x426c73
cmp dword [ebp + 0x10], 2
ja 0x426581
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x34], 0xfe
sete al
mov byte [edx + 0x35], al
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x4265b3
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x4265b3
jmp 0x4265d1
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov byte [ebp - 0x89], al
mov al, 0xff
and byte [ebp - 0x89], al
jmp 0x4265ee
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
inc dword [eax + 0x1c]
mov dl, byte [edx]
mov byte [ebp - 0x89], dl
mov cl, byte [ebp - 0x89]
mov eax, dword [ebp - 0x88]
mov byte [eax + 0x34], cl
lea eax, [ebp + 0x10]
dec dword [eax]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x426624
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x426624
jmp 0x426644
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0x94], eax
and dword [ebp - 0x94], 0xff
jmp 0x426666
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0x94], ecx
inc dword [eax + 0x1c]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x38], edx
lea eax, [ebp + 0x10]
dec dword [eax]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x98], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x42669c
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x42669c
jmp 0x4266ba
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov byte [ebp - 0x99], al
mov al, 0xff
and byte [ebp - 0x99], al
jmp 0x4266d7
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
inc dword [eax + 0x1c]
mov dl, byte [edx]
mov byte [ebp - 0x99], dl
mov al, byte [ebp - 0x99]
mov edx, dword [ebp - 0x98]
mov byte [edx + 0x3c], al
lea eax, [ebp + 0x10]
dec dword [eax]
cmp dword [ebp - 0x30], 0
je 0x4267ff
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x65
jne 0x4267ff
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 3
jg 0x426798
cmp dword [ebp + 0x10], 0
je 0x426798
lea eax, [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0xa0], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x426740
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x426740
jmp 0x42675e
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov byte [ebp - 0xa1], al
mov al, 0xff
and byte [ebp - 0xa1], al
jmp 0x42677b
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
inc dword [eax + 0x1c]
mov dl, byte [edx]
mov byte [ebp - 0xa1], dl
mov al, byte [ebp - 0xa1]
mov edx, dword [ebp - 0xa0]
mov byte [edx], al
lea eax, [ebp - 0xc]
inc dword [eax]
lea eax, [ebp + 0x10]
dec dword [eax]
jmp 0x426709
cmp dword [ebp - 0xc], 3
jle 0x4267ba
lea eax, [ebp - 0x58]
sub esp, 4
push 3
push 0x4dc468
push eax
call sub.msvcrt.dll_memcmp
add esp, 0x10
test eax, eax
jne 0x4267ba
jmp 0x4267eb
cmp dword [0x4fccc0], 0
je 0x4267df
sub esp, 4
mov eax, dword [ebp - 0x38]
push dword [eax + 0x38]
push str._tunknown_S2K__d_n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
mov eax, dword [ebp - 0x38]
mov edx, 0
mov dl, byte [ebp - 0x55]
add edx, 0x3e8
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 1
je 0x426822
cmp dword [ebp - 0xb0], 3
je 0x426822
jmp 0x4268d0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 7
jg 0x4268b8
cmp dword [ebp + 0x10], 0
je 0x4268b8
lea eax, [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x426860
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x426860
jmp 0x42687e
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov byte [ebp - 0xa9], al
mov al, 0xff
and byte [ebp - 0xa9], al
jmp 0x42689b
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
inc dword [eax + 0x1c]
mov dl, byte [edx]
mov byte [ebp - 0xa9], dl
mov al, byte [ebp - 0xa9]
mov edx, dword [ebp - 0xa8]
mov byte [edx], al
lea eax, [ebp - 0xc]
inc dword [eax]
lea eax, [ebp + 0x10]
dec dword [eax]
jmp 0x426829
sub esp, 4
push 8
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x38]
add eax, 0x3d
push eax
call sub.msvcrt.dll_memcpy
add esp, 0x10
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 3
je 0x42697e
cmp dword [ebp - 0xb8], 3
jg 0x426909
cmp dword [ebp - 0xb8], 0
je 0x42692e
cmp dword [ebp - 0xb8], 1
je 0x426956
jmp 0x4269ec
cmp dword [ebp - 0xb8], 0x3e9
je 0x4269a6
cmp dword [ebp - 0xb8], 0x3ea
je 0x4269cb
jmp 0x4269ec
cmp dword [0x4fccc0], 0
je 0x426a42
sub esp, 8
push str._tsimple_S2K
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x426a42
cmp dword [0x4fccc0], 0
je 0x426a42
sub esp, 8
push str._tsalted_S2K
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x426a42
cmp dword [0x4fccc0], 0
je 0x426a42
sub esp, 8
push str._titersalt_S2K
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x426a42
cmp dword [0x4fccc0], 0
je 0x426a42
sub esp, 8
push str._tgnu_dummy_S2K
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x426a42
cmp dword [0x4fccc0], 0
je 0x426a42
sub esp, 8
push str._tgnu_divert_to_card_S2K
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x426a42
cmp dword [0x4fccc0], 0
je 0x426a36
mov eax, dword [ebp - 0x38]
push dword [eax + 0x38]
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x3e7
jg 0x426a13
mov dword [ebp - 0xb4], 0x4db7d1
jmp 0x426a1d
mov dword [ebp - 0xb4], str.GNU
push dword [ebp - 0xb4]
push str._tunknown__sS2K__d_n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
cmp dword [0x4fccc0], 0
je 0x426b1b
sub esp, 0xc
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x3c]
and eax, 0xff
push eax
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x35], 0
je 0x426a73
mov dword [ebp - 0xbc], str._SHA1_protection_
jmp 0x426a7d
mov dword [ebp - 0xbc], str._simple_checksum_
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x34]
and eax, 0xff
push eax
push str.__algo:__d__s_hash:__d
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x20
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 1
je 0x426ab6
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 3
je 0x426ab6
jmp 0x426b08
sub esp, 8
push str.__salt:
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 7
jg 0x426b08
sub esp, 4
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0xc]
add eax, 0x30
mov al, byte [eax + 0xd]
and eax, 0xff
push eax
push str._02x
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x426ad3
sub esp, 8
push dword [0x4fccd0]
push 0xa
call sub.msvcrt.dll_putc
add esp, 0x10
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 3
jne 0x426bd6
cmp dword [ebp + 0x10], 0
jne 0x426b3a
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xc0], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x426b5c
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x426b5c
jmp 0x426b72
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0xc4], eax
jmp 0x426b94
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0xc4], ecx
inc dword [eax + 0x1c]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x48], edx
lea eax, [ebp + 0x10]
dec dword [eax]
cmp dword [0x4fccc0], 0
je 0x426cb8
sub esp, 4
mov eax, dword [ebp - 0x38]
push dword [eax + 0x48]
push str._tprotect_count:__lu_n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x426cb8
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x3ea
jne 0x426cb8
cmp dword [ebp + 0x10], 0
jne 0x426bf8
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x426c11
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x426c11
jmp 0x426c27
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0xc8], eax
jmp 0x426c49
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0xc8], ecx
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x5c], eax
lea eax, [ebp + 0x10]
dec dword [eax]
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x5c]
jb 0x426c67
cmp dword [ebp - 0x5c], 0xffffffff
je 0x426c67
jmp 0x426cb8
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x38], 0
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x3c], 1
cmp dword [0x4fccc0], 0
je 0x426cb8
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x3c]
and eax, 0xff
push eax
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x34]
and eax, 0xff
push eax
push str._tprotect_algo:__d___hash_algo:__d__n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x34]
and eax, 0xff
sub eax, 7
cmp eax, 3
ja 0x426cd4
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x4c], 0x10
jmp 0x426cdb
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x4c], 8
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x3e9
jne 0x426cf0
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x4c], 0
jmp 0x426d30
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x3ea
jne 0x426d30
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0x10
jbe 0x426d21
mov dword [ebp - 0xd0], 0x10
mov al, byte [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov byte [edx + 0x4c], al
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x4c]
and eax, 0xff
cmp eax, dword [ebp + 0x10]
jbe 0x426d4c
mov dword [ebp - 0x34], 0xe
jmp 0x4271c3
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x4c]
and eax, 0xff
cmp eax, dword [ebp - 0xc]
jle 0x426dec
cmp dword [ebp + 0x10], 0
je 0x426dec
lea eax, [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x426d94
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x426d94
jmp 0x426db2
sub esp, 0xc
push dword [ebp + 8]
call fcn.004a630b
add esp, 0x10
mov byte [ebp - 0xd5], al
mov al, 0xff
and byte [ebp - 0xd5], al
jmp 0x426dcf
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
inc dword [eax + 0x1c]
mov dl, byte [edx]
mov byte [ebp - 0xd5], dl
mov al, byte [ebp - 0xd5]
mov edx, dword [ebp - 0xd4]
mov byte [edx], al
lea eax, [ebp - 0xc]
inc dword [eax]
lea eax, [ebp + 0x10]
dec dword [eax]
jmp 0x426d53
cmp dword [0x4fccc0], 0
je 0x426e87
sub esp, 8
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x3ea
jne 0x426e14
mov dword [ebp - 0xdc], str._tserial_number:
jmp 0x426e1e
mov dword [ebp - 0xdc], str._tprotect_IV:
push dword [ebp - 0xdc]
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x4c]
and eax, 0xff
cmp eax, dword [ebp - 0xc]
jle 0x426e74
sub esp, 4
lea eax, [ebp - 0x58]
add eax, dword [ebp - 0xc]
mov al, byte [eax]
and eax, 0xff
push eax
push str.__02x
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x426e39
sub esp, 8
push dword [0x4fccd0]
push 0xa
call sub.msvcrt.dll_putc
add esp, 0x10
sub esp, 4
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x4c]
and eax, 0xff
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x38]
add eax, 0x4d
push eax
call sub.msvcrt.dll_memcpy
add esp, 0x10
jmp 0x426eb2
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x31], 0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x3e9
je 0x426ecc
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x38], 0x3ea
je 0x426ecc
jmp 0x426f02
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x28]
sub esp, 4
push 0xa
sub esp, 4
push 0x4dc57f
call fcn.004a2fe0
add esp, 8
push eax
push 0
call fcn.0049cb4e
add esp, 0x10
mov dword [ebx + esi*4 + 0x60], eax
mov dword [ebp + 0x10], 0
jmp 0x4271c3
cmp dword [ebp - 0x30], 0
je 0x426f6e
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x31], 0
je 0x426f6e
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x28]
sub esp, 4
push dword [ebp + 0x10]
sub esp, 0xc
push 0
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.00423710
add esp, 0x18
push eax
push 0
call fcn.0049cb4e
add esp, 0x10
mov dword [ebx + esi*4 + 0x60], eax
mov dword [ebp + 0x10], 0
cmp dword [0x4fccc0], 0
je 0x4271c3
sub esp, 8
push str._tencrypted_stuff_follows_n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x4271c3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x2c]
jge 0x427070
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x31], 0
je 0x426fd0
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0xc]
sub esp, 8
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 8]
call fcn.00425cdd
add esp, 0x10
mov dword [ebx + esi*4 + 0x60], eax
cmp dword [0x4fccc0], 0
je 0x427052
sub esp, 4
push dword [ebp - 0xc]
push str._tskey__d_:__encrypted__n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x427052
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0xc]
sub esp, 4
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.0049a3ed
add esp, 0x10
mov dword [ebx + esi*4 + 0x60], eax
mov edx, dword [ebp - 0x18]
lea eax, [ebp + 0x10]
sub dword [eax], edx
cmp dword [0x4fccc0], 0
je 0x427052
sub esp, 4
push dword [ebp - 0xc]
push str._tskey__d_:
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
sub esp, 4
push dword [0x4fccb0]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
push dword [edx + eax*4 + 0x60]
push dword [0x4fccd0]
call fcn.0049ab0e
add esp, 0x10
sub esp, 8
push dword [0x4fccd0]
push 0xa
call sub.msvcrt.dll_putc
add esp, 0x10
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
cmp dword [edx + eax*4 + 0x60], 0
jne 0x427066
mov dword [ebp - 0x34], 0xe
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x426f74
cmp dword [ebp - 0x34], 0
je 0x42707b
jmp 0x4271c3
mov ebx, dword [ebp - 0x38]
sub esp, 0xc
push dword [ebp + 8]
call fcn.004224a0
add esp, 0x10
mov word [ebx + 0x78], ax
lea eax, [ebp + 0x10]
sub dword [eax], 2
cmp dword [0x4fccc0], 0
je 0x4271c3
sub esp, 4
mov eax, dword [ebp - 0x38]
mov ax, word [eax + 0x78]
and eax, 0xffff
push eax
push str._tchecksum:__04hx_n
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x4271c3
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x28], 0
jne 0x427110
mov ebx, dword [ebp - 0x5c]
sub esp, 4
push dword [ebp + 0x10]
sub esp, 0xc
push 0
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.00423710
add esp, 0x18
push eax
push 0
call fcn.0049cb4e
add esp, 0x10
mov dword [ebx + 0x70], eax
mov dword [ebp + 0x10], 0
jmp 0x4271c3
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
jge 0x4271c3
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0xc]
sub esp, 4
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.0049a3ed
add esp, 0x10
mov dword [ebx + esi*4 + 0x70], eax
mov edx, dword [ebp - 0x18]
lea eax, [ebp + 0x10]
sub dword [eax], edx
cmp dword [0x4fccc0], 0
je 0x4271a5
sub esp, 4
push dword [ebp - 0xc]
push str._tpkey__d_:
push dword [0x4fccd0]
call sub.msvcrt.dll_fprintf
add esp, 0x10
sub esp, 4
push dword [0x4fccb0]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xc]
push dword [edx + eax*4 + 0x70]
push dword [0x4fccd0]
call fcn.0049ab0e
add esp, 0x10
sub esp, 8
push dword [0x4fccd0]
push 0xa
call sub.msvcrt.dll_putc
add esp, 0x10
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xc]
cmp dword [edx + eax*4 + 0x70], 0
jne 0x4271b9
mov dword [ebp - 0x34], 0xe
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x427117
sub esp, 4
push 0
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.004a7189
add esp, 0x10
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret