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

Disassembly:
sub esp, 0x114
push ebx
push ebp
mov ebp, dword [esp + 0x120]
xor ebx, ebx
push edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x10], ebx
cmp byte [ebp + 0x42c], bl
jne 0x45a8a5
test edi, edi
je 0x45a8a5
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
push dword [esp + 0x130]
lea eax, [esp + 0x24]
push dword [esp + 0x130]
push eax
call fcn.0045c130
add esp, 0xc
test eax, eax
je 0x45a8d3
pop edi
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.0045c440
mov esi, eax
add esp, 4
test esi, esi
je case.0x45b957.7
cmp byte [ebp + 0x42c], bl
je 0x45a928
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45a900
sub ecx, edx
push ecx
push esi
push str.Subject
push edi
push ebp
call fcn.0041cf80
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x45a9fe
test edi, edi
jne 0x45a93c
push esi
push edi
push str._2d_Subject:__s
push ebp
call fcn.00422840
add esp, 0x10
push esi
call dword [0x4a6004]
lea eax, [esp + 0x78]
push eax
call fcn.0045c440
mov esi, eax
add esp, 8
test esi, esi
je case.0x45b957.7
cmp byte [ebp + 0x42c], 0
je 0x45a979
push esi
push str.Issuer
push edi
push ebp
call fcn.0045de60
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x45a98c
push esi
push str.___Issuer:__s
push ebp
call fcn.00422840
add esp, 0xc
push esi
call dword [0x4a6004]
add esp, 4
test ebx, ebx
jne 0x45a9fe
mov ecx, dword [esp + 0x38]
xor esi, esi
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jae 0x45a9b5
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x45a9a8
cmp byte [ebp + 0x42c], 0
je 0x45aa12
push esi
push 0x497afc
call fcn.004268c0
mov edi, eax
add esp, 8
test edi, edi
je case.0x45b957.7
mov ebx, dword [esp + 0x12c]
push edi
push str.Version
push ebx
push ebp
call fcn.0045de60
mov ebx, eax
push edi
mov dword [esp + 0x28], ebx
call dword [0x4a6004]
add esp, 0x14
test ebx, ebx
je 0x45aa0b
pop esi
pop edi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x12c]
test edi, edi
jne 0x45aa29
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__u__0x_x_
push ebp
call fcn.00422840
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x45b957.7
movzx ebx, byte [esp + 0x51]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x45b957.7
movzx eax, byte [eax + 0x45bfa0]
mov ebp, 0x4a1ed9
mov edx, str.FALSE
jmp dword [eax*4 + 0x45bf78]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x45aa73
xor esi, esi
jmp 0x45ae45
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45ae45
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x45aaa4
xor esi, esi
jmp 0x45ae45
cmp eax, 4
jbe 0x45aaba
push esi
push edx
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45ae45
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45aac0
cmp ecx, 0xa
mov eax, 0x4991d8
push ecx
cmovb eax, ebp
push eax
push str._s_x
call fcn.004268c0
add esp, 0xc
mov esi, eax
jmp 0x45ae45
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x45ab02
xor esi, esi
jmp 0x45ae45
push ecx
push eax
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45ae45
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45ae45
push 0x4a1ed9
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45ae45
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.0045c4a0
add esp, 0xc
mov esi, eax
jmp 0x45ae45
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x45ab73
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45ab73
inc ecx
cmp ecx, edx
jb 0x45ab66
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45ab8b
sub eax, 2
je 0x45ab90
xor esi, esi
jmp 0x45ae45
mov edi, 0x499218
cmp ecx, edx
jb 0x45ab9b
xor esi, esi
jmp 0x45ae45
cmp byte [ecx], 0x5a
jne 0x45abac
mov ecx, 0x49921c
mov edx, 0x49921f
jmp 0x45abad
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004268c0
add esp, 0x28
mov esi, eax
jmp 0x45ae45
mov ebp, dword [esp + 0x48]
mov esi, 0x4a1ed9
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x45ac03
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45ac03
inc ecx
cmp ecx, edi
jb 0x45abf6
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45ac31
sub eax, 1
je 0x45ac2c
sub eax, 1
je 0x45ac25
xor esi, esi
jmp 0x45ae45
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45ac33
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45ac92
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45ac47
cmp bl, 0x2c
jne 0x45ac77
inc ecx
inc eax
cmp eax, edi
jae 0x45ac59
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45ac59
cmp dl, 0x39
jle 0x45ac48
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45ac77
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45ac72
dec esi
sub edx, 1
jne 0x45ac67
mov esi, 0x4a1ed9
cmp eax, edi
jae 0x45ac92
cmp byte [eax], 0x5a
jne 0x45ac8c
mov eax, str._GMT
mov edi, 0x4991e8
jmp 0x45ac92
mov esi, 0x48ee54
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4a1ed9
mov eax, 0x4a23f8
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004268c0
add esp, 0x38
mov esi, eax
jmp 0x45ae45
mov edi, dword [esp + 0x4c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x48]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x45acfe.13
movzx eax, byte [eax + 0x45bfd0]
jmp dword [eax*4 + 0x45bfc0]
mov ecx, 2
jmp 0x45ad11
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45acfe.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45acfe.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x45acfe.13
cmp ebx, 0xc
jne 0x45ad6a
test edi, edi
je 0x45ad61
push edi
push esi
push ebp
call fcn.004651d0
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x45ae3e
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x45ad61
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x45ad91
sub eax, 2
jne 0x45ad9a
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x45ae18
cmp ecx, 0x800
jb 0x45ae00
cmp ecx, 0x10000
jb 0x45ade4
cmp ecx, 0x200000
jae 0x45ae2f
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x45adec
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x45ae03
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x45ae1b
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x4c]
jb 0x45ad72
mov byte [edi + ebp], 0
jmp 0x45ae3e
push ebp
call dword [0x4a6004]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
test esi, esi
je case.0x45b957.7
mov edi, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x42c], 0
je 0x45ae7c
push esi
push str.Serial_Number
push ebx
push edi
call fcn.0045de60
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
jmp 0x45ae80
mov ebp, dword [esp + 0x14]
test ebx, ebx
jne 0x45ae93
push esi
push str.___Serial_Number:__s
push edi
call fcn.00422840
add esp, 0xc
push esi
call dword [0x4a6004]
add esp, 4
test ebp, ebp
jne 0x45bf6b
push dword [esp + 0x5c]
lea eax, [esp + 0x118]
push dword [esp + 0x5c]
push eax
call fcn.0045ced0
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x45b957.7
cmp byte [edi + 0x42c], 0
je 0x45aee6
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.0045de60
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x45aef9
push esi
push str.___Signature_Algorithm:__s
push edi
call fcn.00422840
add esp, 0xc
push esi
call dword [0x4a6004]
add esp, 4
test ebp, ebp
jne 0x45bf6b
cmp byte [esp + 0x92], 0
jne case.0x45b957.7
movzx ebx, byte [esp + 0x91]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x45b957.7
movzx eax, byte [eax + 0x45c00c]
jmp dword [eax*4 + 0x45bfe4]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x45af57
xor esi, esi
jmp 0x45b376
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45b376
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x45af93
xor esi, esi
jmp 0x45b376
cmp eax, 4
jbe 0x45afa9
push esi
push edx
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45b376
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45afb0
push ecx
cmp ecx, 0xa
mov eax, 0x4991d8
mov ecx, 0x4a1ed9
cmovb eax, ecx
push eax
push str._s_x
call fcn.004268c0
add esp, 0xc
mov esi, eax
jmp 0x45b376
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x45affd
xor esi, esi
jmp 0x45b376
push ecx
push eax
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45b376
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45b376
push 0x4a1ed9
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45b376
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0045c4a0
add esp, 0xc
mov esi, eax
jmp 0x45b376
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x45b080
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45b080
inc ecx
cmp ecx, edx
jb 0x45b073
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45b098
sub eax, 2
je 0x45b09d
xor esi, esi
jmp 0x45b36f
mov edi, 0x499218
cmp ecx, edx
jb 0x45b0a8
xor esi, esi
jmp 0x45b36f
cmp byte [ecx], 0x5a
jne 0x45b0b9
mov ecx, 0x49921c
mov edx, 0x49921f
jmp 0x45b0ba
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004268c0
add esp, 0x28
mov esi, eax
jmp 0x45b36f
mov ebp, dword [esp + 0x88]
mov esi, 0x4a1ed9
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x45b11d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45b11d
inc ecx
cmp ecx, edi
jb 0x45b110
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45b14b
sub eax, 1
je 0x45b146
sub eax, 1
je 0x45b13f
xor esi, esi
jmp 0x45b36b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45b14d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45b1ac
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45b161
cmp bl, 0x2c
jne 0x45b191
inc ecx
inc eax
cmp eax, edi
jae 0x45b173
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45b173
cmp dl, 0x39
jle 0x45b162
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45b191
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45b18c
dec esi
sub edx, 1
jne 0x45b181
mov esi, 0x4a1ed9
cmp eax, edi
jae 0x45b1ac
cmp byte [eax], 0x5a
jne 0x45b1a6
mov eax, str._GMT
mov edi, 0x4991e8
jmp 0x45b1ac
mov esi, 0x48ee54
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4a1ed9
mov eax, 0x4a23f8
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004268c0
add esp, 0x38
mov esi, eax
jmp 0x45b36b
mov edi, dword [esp + 0x8c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x45b21e.13
movzx eax, byte [eax + 0x45c03c]
jmp dword [eax*4 + 0x45c02c]
mov ecx, 2
jmp 0x45b231
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45b21e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45b21e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x45b21e.13
cmp ebx, 0xc
jne 0x45b28a
test edi, edi
je 0x45b281
push edi
push esi
push ebp
call fcn.004651d0
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x45b364
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x45b281
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x45b2b4
sub eax, 2
jne 0x45b2bd
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x45b33b
cmp ecx, 0x800
jb 0x45b323
cmp ecx, 0x10000
jb 0x45b307
cmp ecx, 0x200000
jae 0x45b355
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x45b30f
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x45b326
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x45b33e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x8c]
jb 0x45b295
mov byte [edi + ebp], 0
jmp 0x45b364
push ebp
call dword [0x4a6004]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x45b957.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x45b3a4
push esi
push str.Start_Date
push ebx
push edi
call fcn.0045de60
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x45b3b7
push esi
push str.___Start_Date:__s
push edi
call fcn.00422840
add esp, 0xc
push esi
call dword [0x4a6004]
add esp, 4
test ebp, ebp
jne 0x45bf6b
cmp byte [esp + 0xa2], 0
jne case.0x45b957.7
movzx ebx, byte [esp + 0xa1]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x45b957.7
movzx eax, byte [eax + 0x45c078]
jmp dword [eax*4 + 0x45c050]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x45b415
xor esi, esi
jmp 0x45b836
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45b836
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x45b451
xor esi, esi
jmp 0x45b836
cmp eax, 4
jbe 0x45b467
push esi
push edx
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45b836
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45b470
push ecx
cmp ecx, 0xa
mov eax, 0x4991d8
mov ecx, 0x4a1ed9
cmovb eax, ecx
push eax
push str._s_x
call fcn.004268c0
add esp, 0xc
mov esi, eax
jmp 0x45b836
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x45b4bd
xor esi, esi
jmp 0x45b836
push ecx
push eax
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45b836
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45b836
push 0x4a1ed9
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45b836
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.0045c4a0
add esp, 0xc
mov esi, eax
jmp 0x45b836
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x45b540
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45b540
inc ecx
cmp ecx, edx
jb 0x45b533
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45b558
sub eax, 2
je 0x45b55d
xor esi, esi
jmp 0x45b82f
mov edi, 0x499218
cmp ecx, edx
jb 0x45b568
xor esi, esi
jmp 0x45b82f
cmp byte [ecx], 0x5a
jne 0x45b579
mov ecx, 0x49921c
mov edx, 0x49921f
jmp 0x45b57a
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004268c0
add esp, 0x28
mov esi, eax
jmp 0x45b82f
mov ebp, dword [esp + 0x98]
mov esi, 0x4a1ed9
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x45b5dd
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45b5dd
inc ecx
cmp ecx, edi
jb 0x45b5d0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45b60b
sub eax, 1
je 0x45b606
sub eax, 1
je 0x45b5ff
xor esi, esi
jmp 0x45b82b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45b60d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45b66c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45b621
cmp bl, 0x2c
jne 0x45b651
inc ecx
inc eax
cmp eax, edi
jae 0x45b633
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45b633
cmp dl, 0x39
jle 0x45b622
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45b651
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45b64c
dec esi
sub edx, 1
jne 0x45b641
mov esi, 0x4a1ed9
cmp eax, edi
jae 0x45b66c
cmp byte [eax], 0x5a
jne 0x45b666
mov eax, str._GMT
mov edi, 0x4991e8
jmp 0x45b66c
mov esi, 0x48ee54
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4a1ed9
mov eax, 0x4a23f8
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004268c0
add esp, 0x38
mov esi, eax
jmp 0x45b82b
mov edi, dword [esp + 0x9c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x98]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x45b6de.13
movzx eax, byte [eax + 0x45c0a8]
jmp dword [eax*4 + 0x45c098]
mov ecx, 2
jmp 0x45b6f1
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45b6de.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45b6de.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x45b6de.13
cmp ebx, 0xc
jne 0x45b74a
test edi, edi
je 0x45b741
push edi
push esi
push ebp
call fcn.004651d0
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x45b824
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x45b741
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x45b774
sub eax, 2
jne 0x45b77d
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x45b7fb
cmp ecx, 0x800
jb 0x45b7e3
cmp ecx, 0x10000
jb 0x45b7c7
cmp ecx, 0x200000
jae 0x45b815
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x45b7cf
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x45b7e6
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x45b7fe
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x9c]
jb 0x45b755
mov byte [edi + ebp], 0
jmp 0x45b824
push ebp
call dword [0x4a6004]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x45b957.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x45b864
push esi
push str.Expire_Date
push ebx
push edi
call fcn.0045de60
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x45b877
push esi
push str.___Expire_Date:__s
push edi
call fcn.00422840
add esp, 0xc
push esi
call dword [0x4a6004]
add esp, 4
test ebp, ebp
jne 0x45bf6b
push dword [esp + 0xcc]
lea eax, [esp + 0x118]
push dword [esp + 0xcc]
push eax
call fcn.0045ced0
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x45b957.7
cmp byte [edi + 0x42c], 0
je 0x45b8d4
push esi
push str.Public_Key_Algorithm
push ebx
push edi
call fcn.0045de60
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x45b922
test ebx, ebx
jne 0x45b8e7
push esi
push str.___Public_Key_Algorithm:__s
push edi
call fcn.00422840
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push edi
call fcn.0045c610
add esp, 0x14
test eax, eax
je 0x45b922
push esi
mov ebp, 0x1b
call dword [0x4a6004]
add esp, 4
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
push esi
call dword [0x4a6004]
add esp, 4
test ebp, ebp
jne 0x45bf6b
cmp byte [esp + 0x72], 0
jne case.0x45b957.7
movzx ebx, byte [esp + 0x71]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x45b957.7
movzx eax, byte [eax + 0x45c0e4]
jmp dword [eax*4 + 0x45c0bc]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x45b974
xor esi, esi
jmp 0x45bd5e
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45bd5e
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x45b9aa
xor esi, esi
jmp 0x45bd5e
cmp eax, 4
jbe 0x45b9c0
push esi
push edx
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45bd5e
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45b9c6
push ecx
cmp ecx, 0xa
mov eax, 0x4991d8
mov ecx, 0x4a1ed9
cmovb eax, ecx
push eax
push str._s_x
call fcn.004268c0
add esp, 0xc
mov esi, eax
jmp 0x45bd5e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x45ba0d
xor esi, esi
jmp 0x45bd5e
push ecx
push eax
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45bd5e
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.0045ddf0
add esp, 8
mov esi, eax
jmp 0x45bd5e
push 0x4a1ed9
call dword [0x4a600c]
add esp, 4
mov esi, eax
jmp 0x45bd5e
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0045c4a0
add esp, 0xc
mov esi, eax
jmp 0x45bd5e
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x45ba7e
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45ba7e
inc ecx
cmp ecx, edx
jb 0x45ba71
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45ba96
sub eax, 2
je 0x45ba9b
xor esi, esi
jmp 0x45bd57
mov edi, 0x499218
cmp ecx, edx
jb 0x45baa6
xor esi, esi
jmp 0x45bd57
cmp byte [ecx], 0x5a
jne 0x45bab7
mov ecx, 0x49921c
mov edx, 0x49921f
jmp 0x45bab8
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004268c0
add esp, 0x28
mov esi, eax
jmp 0x45bd57
mov ebp, dword [esp + 0x68]
mov esi, 0x4a1ed9
mov edi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, edi
jae 0x45bb0e
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45bb0e
inc ecx
cmp ecx, edi
jb 0x45bb01
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45bb3c
sub eax, 1
je 0x45bb37
sub eax, 1
je 0x45bb30
xor esi, esi
jmp 0x45bd53
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45bb3e
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45bb9d
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45bb52
cmp bl, 0x2c
jne 0x45bb82
inc ecx
inc eax
cmp eax, edi
jae 0x45bb64
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45bb64
cmp dl, 0x39
jle 0x45bb53
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45bb82
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45bb7d
dec esi
sub edx, 1
jne 0x45bb72
mov esi, 0x4a1ed9
cmp eax, edi
jae 0x45bb9d
cmp byte [eax], 0x5a
jne 0x45bb97
mov eax, str._GMT
mov edi, 0x4991e8
jmp 0x45bb9d
mov esi, 0x48ee54
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4a1ed9
mov eax, 0x4a23f8
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004268c0
add esp, 0x38
mov esi, eax
jmp 0x45bd53
mov edi, dword [esp + 0x6c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x68]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x45bc09.13
movzx eax, byte [eax + 0x45c114]
jmp dword [eax*4 + 0x45c104]
mov ecx, 2
jmp 0x45bc1c
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45bc09.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45bc09.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x45bc09.13
cmp ebx, 0xc
jne 0x45bc75
test edi, edi
je 0x45bc6c
push edi
push esi
push ebp
call fcn.004651d0
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x45bd4c
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x45bc6c
nop dword [eax]
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x45bc9f
sub eax, 2
jne 0x45bca8
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x45bd26
cmp ecx, 0x800
jb 0x45bd0e
cmp ecx, 0x10000
jb 0x45bcf2
cmp ecx, 0x200000
jae 0x45bd3d
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x45bcfa
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x45bd11
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x45bd29
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x6c]
jb 0x45bc80
mov byte [edi + ebp], 0
jmp 0x45bd4c
push ebp
call dword [0x4a6004]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x45b957.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x45bd88
push esi
push str.Signature
push ebx
push edi
call fcn.0045de60
add esp, 0x10
mov ebp, eax
test ebx, ebx
jne 0x45bd9b
push esi
push str.___Signature:__s
push edi
call fcn.00422840
add esp, 0xc
push esi
call dword [0x4a6004]
add esp, 4
test ebp, ebp
jne 0x45bf6b
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x34]
sub eax, ecx
push eax
push ecx
call fcn.00438a00
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x45bf6b
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x45be11
push dword [esp + 0x20]
call dword [0x4a6004]
add esp, 4
pop esi
pop edi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x114
ret
mov ecx, str._____BEGIN_CERTIFICATE_____
lea edx, [ebx + 2]
xor esi, esi
nop dword [eax + eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x45be74
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x45be73
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x45be6e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x45be69
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x45be20
jmp 0x45be74
add esi, 3
jmp 0x45be74
add esi, 2
jmp 0x45be74
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x45bea1
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.0045c580
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x45be83
lea edx, [ebx + 2]
xor esi, esi
mov ecx, str._____END_CERTIFICATE_____
add edx, edi
nop dword [eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x45bf04
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x45bf03
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x45befe
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x45bef9
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x45beb0
jmp 0x45bf04
add esi, 3
jmp 0x45bf04
add esi, 2
jmp 0x45bf04
inc esi
lea eax, [ebx + edi]
mov byte [esi + eax], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x4a6004]
mov esi, dword [esp + 0x12c]
add esp, 4
cmp byte [esi + 0x42c], 0
je 0x45bf48
push ebx
push str.Cert
push dword [esp + 0x134]
push esi
call fcn.0045de60
add esp, 0x10
mov ebp, eax
cmp dword [esp + 0x12c], 0
jne 0x45bf61
push ebx
push 0x48e1d8
push esi
call fcn.00422840
add esp, 0xc
push ebx
call dword [0x4a6004]
add esp, 4
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x114
ret