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

Disassembly:
sub esp, 0x114
mov eax, dword [esp + 0x118]
push ebx
mov ebx, dword [esp + 0x120]
push ebp
mov ebp, dword [eax]
mov dword [esp + 0x10], ebp
cmp byte [ebp + 0x89c], 0
jne 0x100437f4
test ebx, ebx
je 0x100437f4
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
push dword [esp + 0x12c]
lea eax, [esp + 0x20]
push dword [esp + 0x12c]
push eax
call fcn.10044f80
add esp, 0xc
test eax, eax
je 0x10043821
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.10045290
mov esi, eax
add esp, 4
test esi, esi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
je 0x10043856
push esi
push str.Subject
push ebx
push ebp
call fcn.1000f120
add esp, 0x10
test ebx, ebx
jne 0x1004386a
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.100144a0
add esp, 0x10
push esi
call dword [0x1005b004]
lea eax, [esp + 0x78]
push eax
call fcn.10045290
mov esi, eax
add esp, 8
test esi, esi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
je 0x100438a1
push esi
push str.Issuer
push ebx
push ebp
call fcn.1000f120
add esp, 0x10
test ebx, ebx
jne 0x100438b4
push esi
push str.___Issuer:__s_n
push ebp
call fcn.100144a0
add esp, 0xc
push esi
call dword [0x1005b004]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x100438dd
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x100438d0
cmp byte [ebp + 0x89c], 0
je 0x10043915
push esi
push 0x10056de8
call fcn.100240b0
mov edi, eax
add esp, 8
test edi, edi
je case.0x100447d5.7
push edi
push str.Version
push ebx
push ebp
call fcn.1000f120
push edi
call dword [0x1005b004]
add esp, 0x14
test ebx, ebx
jne 0x1004392c
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.100144a0
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x100447d5.7
movzx ebx, byte [esp + 0x51]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x100447d5.7
movzx eax, byte [eax + 0x10044df8]
mov edi, 0x1004d3b9
mov edx, str.FALSE
jmp dword [eax*4 + 0x10044dd0]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x10043976
xor edi, edi
jmp 0x10043d57
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x1005b00c]
add esp, 4
mov edi, eax
jmp 0x10043d57
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x100439a7
xor edi, edi
jmp 0x10043d57
cmp eax, 4
jbe 0x100439bd
push esi
push edx
call fcn.10046ae0
add esp, 8
mov edi, eax
jmp 0x10043d57
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x100439c3
cmp ecx, 0xa
mov eax, 0x10058580
push ecx
cmovb eax, edi
push eax
push str._s_lx
call fcn.100240b0
add esp, 0xc
mov edi, eax
jmp 0x10043d57
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x10043a05
xor edi, edi
jmp 0x10043d57
push ecx
push eax
call fcn.10046ae0
add esp, 8
mov edi, eax
jmp 0x10043d57
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.10046ae0
add esp, 8
mov edi, eax
jmp 0x10043d57
push 0x1004d3b9
call dword [0x1005b00c]
add esp, 4
mov edi, eax
jmp 0x10043d57
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.100452e0
add esp, 0xc
mov edi, eax
jmp 0x10043d57
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x10043a7d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x10043a7d
inc ecx
cmp ecx, edx
jb 0x10043a70
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x10043a95
sub eax, 2
je 0x10043a9a
xor edi, edi
jmp 0x10043d57
mov edi, 0x100585c0
cmp ecx, edx
jb 0x10043aa5
xor edi, edi
jmp 0x10043d57
cmp byte [ecx], 0x5a
jne 0x10043ab6
mov ecx, 0x100585c4
mov edx, 0x100585c7
jmp 0x10043ab7
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.100240b0
add esp, 0x28
mov edi, eax
jmp 0x10043d57
mov ebp, dword [esp + 0x48]
mov esi, 0x1004d3b9
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x10043b0d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x10043b0d
inc ecx
cmp ecx, edi
jb 0x10043b00
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x10043b3b
sub eax, 1
je 0x10043b36
sub eax, 1
je 0x10043b2f
xor edi, edi
jmp 0x10043d53
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x10043b3d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x10043b9c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x10043b51
cmp bl, 0x2c
jne 0x10043b81
inc ecx
inc eax
cmp eax, edi
jae 0x10043b63
mov dl, byte [eax]
cmp dl, 0x30
jl 0x10043b63
cmp dl, 0x39
jle 0x10043b52
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x10043b81
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x10043b7c
dec esi
sub edx, 1
jne 0x10043b71
mov esi, 0x1004d3b9
cmp eax, edi
jae 0x10043b9c
cmp byte [eax], 0x5a
jne 0x10043b96
mov eax, str._GMT
mov edi, 0x10058590
jmp 0x10043b9c
mov esi, 0x1004df18
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x1004d3b9
mov eax, 0x1004d7c4
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.100240b0
add esp, 0x38
mov edi, eax
jmp 0x10043d53
mov esi, dword [esp + 0x4c]
lea eax, [ebx - 0xc]
mov edi, dword [esp + 0x48]
mov ecx, 1
sub esi, edi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x10043c08.13
movzx eax, byte [eax + 0x10044e28]
jmp dword [eax*4 + 0x10044e18]
mov ecx, 2
jmp 0x10043c1b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, esi
div ecx
test edx, edx
jne case.0x10043c08.13
mov eax, esi
div ecx
cmp eax, 0x3fffffff
ja case.0x10043c08.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x10043c08.13
cmp ebx, 0xc
jne 0x10043c74
test esi, esi
je 0x10043c6b
push esi
push edi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebp], 0
jmp 0x10043d4c
xor esi, esi
cmp edi, dword [esp + 0x4c]
jae 0x10043c6b
nop dword [eax]
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x10043c9f
sub eax, 2
jne 0x10043ca8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add edi, 2
movzx eax, byte [edi]
shl ecx, 8
or ecx, eax
inc edi
movzx eax, byte [edi]
mov ebx, 1
shl ecx, 8
inc edi
or ecx, eax
cmp ecx, 0x80
jb 0x10043d26
cmp ecx, 0x800
jb 0x10043d0e
cmp ecx, 0x10000
jb 0x10043cf2
cmp ecx, 0x200000
jae 0x10043d3d
mov al, cl
lea edx, [esi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x10043cfa
lea edx, [esi + 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 0x10043d11
lea edx, [esi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x10043d29
lea edx, [esi + ebp]
add esi, ebx
mov byte [edx], cl
cmp edi, dword [esp + 0x4c]
jb 0x10043c80
mov byte [esi + ebp], 0
jmp 0x10043d4c
push ebp
call dword [0x1005b004]
add esp, 4
or esi, 0xffffffff
xor ebp, ebp
xor edi, edi
test esi, esi
cmovns edi, ebp
mov ebp, dword [esp + 0x18]
test edi, edi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x10043d7f
push edi
push str.Serial_Number
push ebx
push ebp
call fcn.1000f120
add esp, 0x10
test ebx, ebx
jne 0x10043d92
push edi
push str.___Serial_Number:__s_n
push ebp
call fcn.100144a0
add esp, 0xc
push edi
call dword [0x1005b004]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.10045bd0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
je 0x10043dd4
push esi
push str.Signature_Algorithm
push ebx
push ebp
call fcn.1000f120
add esp, 0x10
test ebx, ebx
jne 0x10043de7
push esi
push str.___Signature_Algorithm:__s_n
push ebp
call fcn.100144a0
add esp, 0xc
push esi
call dword [0x1005b004]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x100447d5.7
movzx ebx, byte [esp + 0x91]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x100447d5.7
movzx eax, byte [eax + 0x10044e64]
jmp dword [eax*4 + 0x10044e3c]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x10043e3d
xor esi, esi
jmp 0x1004424f
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x1005b00c]
add esp, 4
mov esi, eax
jmp 0x1004424f
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x10043e79
xor esi, esi
jmp 0x1004424f
cmp eax, 4
jbe 0x10043e8f
push esi
push edx
call fcn.10046ae0
add esp, 8
mov esi, eax
jmp 0x1004424f
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x10043e95
push ecx
cmp ecx, 0xa
mov eax, 0x10058580
mov ecx, 0x1004d3b9
cmovb eax, ecx
push eax
push str._s_lx
call fcn.100240b0
add esp, 0xc
mov esi, eax
jmp 0x1004424f
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x10043ee2
xor esi, esi
jmp 0x1004424f
push ecx
push eax
call fcn.10046ae0
add esp, 8
mov esi, eax
jmp 0x1004424f
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10046ae0
add esp, 8
mov esi, eax
jmp 0x1004424f
push 0x1004d3b9
call dword [0x1005b00c]
add esp, 4
mov esi, eax
jmp 0x1004424f
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.100452e0
add esp, 0xc
mov esi, eax
jmp 0x1004424f
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x10043f65
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x10043f65
inc ecx
cmp ecx, edx
jb 0x10043f58
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x10043f7d
sub eax, 2
je 0x10043f82
xor esi, esi
jmp 0x1004424f
mov edi, 0x100585c0
cmp ecx, edx
jb 0x10043f8d
xor esi, esi
jmp 0x1004424f
cmp byte [ecx], 0x5a
jne 0x10043f9e
mov ecx, 0x100585c4
mov edx, 0x100585c7
jmp 0x10043f9f
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.100240b0
add esp, 0x28
mov esi, eax
jmp 0x1004424f
mov ebp, dword [esp + 0x88]
mov esi, 0x1004d3b9
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x10043ffd
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x10043ffd
inc ecx
cmp ecx, edi
jb 0x10043ff0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x1004402b
sub eax, 1
je 0x10044026
sub eax, 1
je 0x1004401f
xor esi, esi
jmp 0x1004424b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x1004402d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x1004408c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x10044041
cmp bl, 0x2c
jne 0x10044071
inc ecx
inc eax
cmp eax, edi
jae 0x10044053
mov dl, byte [eax]
cmp dl, 0x30
jl 0x10044053
cmp dl, 0x39
jle 0x10044042
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x10044071
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x1004406c
dec esi
sub edx, 1
jne 0x10044061
mov esi, 0x1004d3b9
cmp eax, edi
jae 0x1004408c
cmp byte [eax], 0x5a
jne 0x10044086
mov eax, str._GMT
mov edi, 0x10058590
jmp 0x1004408c
mov esi, 0x1004df18
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x1004d3b9
mov eax, 0x1004d7c4
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.100240b0
add esp, 0x38
mov esi, eax
jmp 0x1004424b
mov edi, dword [esp + 0x8c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x100440fe.13
movzx eax, byte [eax + 0x10044e94]
jmp dword [eax*4 + 0x10044e84]
mov ecx, 2
jmp 0x10044111
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x100440fe.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x100440fe.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x100440fe.13
cmp ebx, 0xc
jne 0x1004416a
test edi, edi
je 0x10044161
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x10044244
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x10044161
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x10044194
sub eax, 2
jne 0x1004419d
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 0x1004421b
cmp ecx, 0x800
jb 0x10044203
cmp ecx, 0x10000
jb 0x100441e7
cmp ecx, 0x200000
jae 0x10044235
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 0x100441ef
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 0x10044206
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 0x1004421e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x8c]
jb 0x10044175
mov byte [edi + ebp], 0
jmp 0x10044244
push ebp
call dword [0x1005b004]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x18]
test esi, esi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
mov edi, dword [esp + 0x12c]
je 0x10044277
push esi
push str.Start_Date
push edi
push ebp
call fcn.1000f120
add esp, 0x10
test edi, edi
jne 0x1004428a
push esi
push str.___Start_Date:__s_n
push ebp
call fcn.100144a0
add esp, 0xc
push esi
call dword [0x1005b004]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x100447d5.7
movzx ebx, byte [esp + 0xa1]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x100447d5.7
movzx eax, byte [eax + 0x10044ed0]
jmp dword [eax*4 + 0x10044ea8]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x100442e0
xor edi, edi
jmp 0x100446fa
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x1005b00c]
add esp, 4
mov edi, eax
jmp 0x100446fa
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x1004431c
xor edi, edi
jmp 0x100446fa
cmp eax, 4
jbe 0x10044332
push esi
push edx
call fcn.10046ae0
add esp, 8
mov edi, eax
jmp 0x100446fa
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x10044338
push ecx
cmp ecx, 0xa
mov eax, 0x10058580
mov ecx, 0x1004d3b9
cmovb eax, ecx
push eax
push str._s_lx
call fcn.100240b0
add esp, 0xc
mov edi, eax
jmp 0x100446fa
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x10044385
xor edi, edi
jmp 0x100446fa
push ecx
push eax
call fcn.10046ae0
add esp, 8
mov edi, eax
jmp 0x100446fa
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.10046ae0
add esp, 8
mov edi, eax
jmp 0x100446fa
push 0x1004d3b9
call dword [0x1005b00c]
add esp, 4
mov edi, eax
jmp 0x100446fa
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.100452e0
add esp, 0xc
mov edi, eax
jmp 0x100446fa
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x1004440d
nop dword [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1004440d
inc ecx
cmp ecx, edx
jb 0x10044400
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x10044425
sub eax, 2
je 0x1004442a
xor edi, edi
jmp 0x100446fa
mov edi, 0x100585c0
cmp ecx, edx
jb 0x10044435
xor edi, edi
jmp 0x100446fa
cmp byte [ecx], 0x5a
jne 0x10044446
mov ecx, 0x100585c4
mov edx, 0x100585c7
jmp 0x10044447
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.100240b0
add esp, 0x28
mov edi, eax
jmp 0x100446fa
mov ebp, dword [esp + 0x98]
mov esi, 0x1004d3b9
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x100444a3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x100444a3
inc ecx
cmp ecx, edi
jb 0x10044496
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x100444d1
sub eax, 1
je 0x100444cc
sub eax, 1
je 0x100444c5
xor edi, edi
jmp 0x100446f6
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x100444d3
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x10044532
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x100444e7
cmp bl, 0x2c
jne 0x10044517
inc ecx
inc eax
cmp eax, edi
jae 0x100444f9
mov dl, byte [eax]
cmp dl, 0x30
jl 0x100444f9
cmp dl, 0x39
jle 0x100444e8
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x10044517
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x10044512
dec esi
sub edx, 1
jne 0x10044507
mov esi, 0x1004d3b9
cmp eax, edi
jae 0x10044532
cmp byte [eax], 0x5a
jne 0x1004452c
mov eax, str._GMT
mov edi, 0x10058590
jmp 0x10044532
mov esi, 0x1004df18
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x1004d3b9
mov eax, 0x1004d7c4
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.100240b0
add esp, 0x38
mov edi, eax
jmp 0x100446f6
mov esi, dword [esp + 0x9c]
lea eax, [ebx - 0xc]
mov edi, dword [esp + 0x98]
mov ecx, 1
sub esi, edi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x100445a4.13
movzx eax, byte [eax + 0x10044f00]
jmp dword [eax*4 + 0x10044ef0]
mov ecx, 2
jmp 0x100445b7
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, esi
div ecx
test edx, edx
jne case.0x100445a4.13
mov eax, esi
div ecx
cmp eax, 0x3fffffff
ja case.0x100445a4.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x100445a4.13
cmp ebx, 0xc
jne 0x10044610
test esi, esi
je 0x10044607
push esi
push edi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebp], 0
jmp 0x100446ef
xor esi, esi
cmp edi, dword [esp + 0x9c]
jae 0x10044607
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x1004463f
sub eax, 2
jne 0x10044648
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add edi, 2
movzx eax, byte [edi]
shl ecx, 8
or ecx, eax
inc edi
movzx eax, byte [edi]
mov ebx, 1
shl ecx, 8
inc edi
or ecx, eax
cmp ecx, 0x80
jb 0x100446c6
cmp ecx, 0x800
jb 0x100446ae
cmp ecx, 0x10000
jb 0x10044692
cmp ecx, 0x200000
jae 0x100446e0
mov al, cl
lea edx, [esi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x1004469a
lea edx, [esi + 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 0x100446b1
lea edx, [esi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x100446c9
lea edx, [esi + ebp]
add esi, ebx
mov byte [edx], cl
cmp edi, dword [esp + 0x9c]
jb 0x10044620
mov byte [esi + ebp], 0
jmp 0x100446ef
push ebp
call dword [0x1005b004]
add esp, 4
or esi, 0xffffffff
xor ebp, ebp
xor edi, edi
test esi, esi
cmovns edi, ebp
mov ebp, dword [esp + 0x18]
test edi, edi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x10044722
push edi
push str.Expire_Date
push ebx
push ebp
call fcn.1000f120
add esp, 0x10
test ebx, ebx
jne 0x10044735
push edi
push str.___Expire_Date:__s_n
push ebp
call fcn.100144a0
add esp, 0xc
push edi
call dword [0x1005b004]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.10045bd0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
je 0x1004477d
push esi
push str.Public_Key_Algorithm
push ebx
push ebp
call fcn.1000f120
add esp, 0x10
test ebx, ebx
jne 0x10044790
push esi
push str.___Public_Key_Algorithm:__s_n
push ebp
call fcn.100144a0
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push ebp
call fcn.10045450
push esi
call dword [0x1005b004]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x100447d5.7
movzx ebx, byte [esp + 0x71]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x100447d5.7
movzx eax, byte [eax + 0x10044f3c]
jmp dword [eax*4 + 0x10044f14]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x100447f2
xor esi, esi
jmp 0x10044bd7
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x1005b00c]
add esp, 4
mov esi, eax
jmp 0x10044bd7
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x10044828
xor esi, esi
jmp 0x10044bd7
cmp eax, 4
jbe 0x1004483e
push esi
push edx
call fcn.10046ae0
add esp, 8
mov esi, eax
jmp 0x10044bd7
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x10044844
push ecx
cmp ecx, 0xa
mov eax, 0x10058580
mov ecx, 0x1004d3b9
cmovb eax, ecx
push eax
push str._s_lx
call fcn.100240b0
add esp, 0xc
mov esi, eax
jmp 0x10044bd7
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x1004488b
xor esi, esi
jmp 0x10044bd7
push ecx
push eax
call fcn.10046ae0
add esp, 8
mov esi, eax
jmp 0x10044bd7
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.10046ae0
add esp, 8
mov esi, eax
jmp 0x10044bd7
push 0x1004d3b9
call dword [0x1005b00c]
add esp, 4
mov esi, eax
jmp 0x10044bd7
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.100452e0
add esp, 0xc
mov esi, eax
jmp 0x10044bd7
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x100448fd
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x100448fd
inc ecx
cmp ecx, edx
jb 0x100448f0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x10044915
sub eax, 2
je 0x1004491a
xor esi, esi
jmp 0x10044bd7
mov edi, 0x100585c0
cmp ecx, edx
jb 0x10044925
xor esi, esi
jmp 0x10044bd7
cmp byte [ecx], 0x5a
jne 0x10044936
mov ecx, 0x100585c4
mov edx, 0x100585c7
jmp 0x10044937
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.100240b0
add esp, 0x28
mov esi, eax
jmp 0x10044bd7
mov ebp, dword [esp + 0x68]
mov edi, 0x1004d3b9
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x1004498d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1004498d
inc ecx
cmp ecx, esi
jb 0x10044980
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x100449bb
sub eax, 1
je 0x100449b6
sub eax, 1
je 0x100449af
xor esi, esi
jmp 0x10044bd3
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x100449bd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x10044a1c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x100449d1
cmp bl, 0x2c
jne 0x10044a01
inc ecx
inc eax
cmp eax, esi
jae 0x100449e3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x100449e3
cmp dl, 0x39
jle 0x100449d2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x10044a01
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x100449fc
dec edi
sub edx, 1
jne 0x100449f1
mov edi, 0x1004d3b9
cmp eax, esi
jae 0x10044a1c
cmp byte [eax], 0x5a
jne 0x10044a16
mov eax, str._GMT
mov esi, 0x10058590
jmp 0x10044a1c
mov edi, 0x1004df18
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x1004d3b9
mov eax, 0x1004d7c4
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.100240b0
add esp, 0x38
mov esi, eax
jmp 0x10044bd3
mov edi, dword [esp + 0x6c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x68]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x10044a88.13
movzx eax, byte [eax + 0x10044f6c]
jmp dword [eax*4 + 0x10044f5c]
mov ecx, 2
jmp 0x10044a9b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x10044a88.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x10044a88.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x10044a88.13
cmp ebx, 0xc
jne 0x10044af4
test edi, edi
je 0x10044aeb
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x10044bcc
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x10044aeb
nop dword [eax]
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x10044b1f
sub eax, 2
jne 0x10044b28
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 0x10044ba6
cmp ecx, 0x800
jb 0x10044b8e
cmp ecx, 0x10000
jb 0x10044b72
cmp ecx, 0x200000
jae 0x10044bbd
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 0x10044b7a
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 0x10044b91
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 0x10044ba9
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x6c]
jb 0x10044b00
mov byte [edi + ebp], 0
jmp 0x10044bcc
push ebp
call dword [0x1005b004]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x18]
test esi, esi
je case.0x100447d5.7
cmp byte [ebp + 0x89c], 0
mov edi, dword [esp + 0x12c]
je 0x10044bff
push esi
push str.Signature
push edi
push ebp
call fcn.1000f120
add esp, 0x10
test edi, edi
jne 0x10044c12
push esi
push str.___Signature:__s_n
push ebp
call fcn.100144a0
add esp, 0xc
push esi
call dword [0x1005b004]
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x38]
sub eax, ecx
push eax
push ecx
push ebp
call fcn.1002a710
add esp, 0x18
test eax, eax
jne 0x10044c6d
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 0x10044c78
push dword [esp + 0x20]
call dword [0x1005b004]
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, str._____BEGIN_CERTIFICATE_____
lea edx, [ebx + 2]
xor esi, esi
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x10044cd6
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x10044cd5
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x10044cd0
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x10044ccb
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x10044c82
jmp 0x10044cd6
add esi, 3
jmp 0x10044cd6
add esi, 2
jmp 0x10044cd6
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x10044d03
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.100453c0
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x10044ce5
lea ebp, [ebx + edi]
mov ecx, str._____END_CERTIFICATE_____
xor esi, esi
lea edx, [ebp + 2]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x10044d64
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x10044d63
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x10044d5e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x10044d59
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x10044d10
jmp 0x10044d64
add esi, 3
jmp 0x10044d64
add esi, 2
jmp 0x10044d64
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x1005b004]
mov esi, dword [esp + 0x1c]
add esp, 4
cmp byte [esi + 0x89c], 0
je 0x10044da0
push ebx
push str.Cert
push dword [esp + 0x134]
push esi
call fcn.1000f120
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x10044db9
push ebx
push 0x1004d464
push esi
call fcn.100144a0
add esp, 0xc
push ebx
call dword [0x1005b004]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret