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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x48ae5c]
xor eax, esp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
push ebx
mov ebx, dword [esp + 0x74]
push ebp
mov ebp, dword [esp + 0x80]
mov edx, dword [ebp]
push esi
mov esi, dword [esp + 0x8c]
cmp byte [esi + 0xc], 4
push edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], 0
je 0x4166a5
push 0x1c
push 0
call fcn.004074b0
add esp, 8
test eax, eax
jne 0x4166a1
mov ecx, 9
mov esi, str.Wrong_Type__should_be_OCTET_STRING_:
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x50]
push eax
movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x90]
push esi
push ebp
push ecx
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
push 0
push 0
push 0
push edx
push esi
push ebp
push eax
push ebx
call fcn.00419190
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.0044ca30
add esp, 0x6c
ret
mov eax, dword [esp + 0x28]
test eax, eax
je 0x416b5b
push 0xd
push 0
mov dword [esp + 0x2c], 1
mov byte [esp + 0x23], 0x64
mov byte [esp + 0x1b], 0
mov byte [esp + 0x1a], 0
call fcn.004074b0
add esp, 8
test eax, eax
jne 0x4166f4
mov ecx, dword [esp + 0x8c]
push str.STRING:
push ecx
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
add esi, eax
cmp eax, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
jae 0x416a6b
lea esp, [esp]
mov ecx, dword [esp + 0x28]
mov al, byte [ecx]
test al, al
mov dword [esp + 0x20], 1
je 0x4167f0
cmp al, 0x2a
jne 0x41673f
mov eax, dword [esp + 0x14]
movzx edx, byte [eax]
add eax, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
add ecx, 1
mov al, byte [ecx]
xor esi, esi
cmp al, 0x30
mov dword [esp + 0x24], esi
jl 0x41676b
jmp 0x416750
cmp al, 0x39
jg 0x416767
movsx eax, al
lea edx, [esi + esi*4]
add ecx, 1
lea esi, [eax + edx*2 - 0x30]
mov al, byte [ecx]
cmp al, 0x30
jge 0x416750
mov dword [esp + 0x24], esi
mov dl, byte [ecx]
mov al, byte [ecx + 1]
add ecx, 1
test al, al
mov byte [esp + 0x1b], dl
mov dword [esp + 0x28], ecx
je 0x4167a8
cmp al, 0x2a
je 0x4167a8
cmp al, 0x30
jl 0x41678b
cmp al, 0x39
jle 0x4167a8
test esi, esi
jne 0x41679b
cmp al, 0x78
je 0x4167a8
cmp al, 0x64
je 0x4167a8
cmp al, 0x6f
je 0x4167a8
add ecx, 1
mov byte [esp + 0x13], al
mov dword [esp + 0x28], ecx
jmp 0x4167ad
mov byte [esp + 0x13], 0
mov al, byte [ecx]
test al, al
je 0x4167dc
cmp al, 0x2a
je 0x4167dc
cmp al, 0x30
jl 0x4167bf
cmp al, 0x39
jle 0x4167dc
test esi, esi
jne 0x4167cf
cmp al, 0x78
je 0x4167dc
cmp al, 0x64
je 0x4167dc
cmp al, 0x6f
je 0x4167dc
add ecx, 1
mov byte [esp + 0x12], al
mov dword [esp + 0x28], ecx
jmp 0x4167e1
mov byte [esp + 0x12], 0
cmp dword [esp + 0x20], 0
je 0x4169fb
lea esp, [esp]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jae 0x4169fb
mov al, byte [esp + 0x1b]
xor esi, esi
cmp al, 0x61
je 0x41682e
cmp al, 0x74
je 0x41682e
mov eax, dword [esp + 0x24]
test eax, eax
mov ecx, dword [esp + 0x14]
jle 0x416832
movzx edx, byte [ecx]
shl esi, 8
add esi, edx
add ecx, 1
sub eax, 1
jne 0x416818
mov dword [esp + 0x14], ecx
jmp 0x416832
mov ecx, dword [esp + 0x14]
movsx eax, byte [esp + 0x1b]
add eax, 0xffffff9f
cmp eax, 0x17
ja case.0x41684a.98
movzx eax, byte [eax + 0x416dbc]
jmp dword [eax*4 + 0x416da8]
push 0x21
push 0
call fcn.004074b0
add esp, 8
test eax, eax
je 0x416873
cmp esi, 0x10
jge 0x416873
push esi
push str.0_lx
lea ecx, [esp + 0x48]
push ecx
jmp 0x41687e
push esi
push 0x46fd08
lea edx, [esp + 0x48]
push edx
call fcn.0044d46e
mov ecx, dword [esp + 0x98]
add esp, 0xc
lea eax, [esp + 0x40]
push eax
push ecx
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
jmp 0x416991
push esi
lea edx, [esp + 0x44]
push 0x46fd04
push edx
call fcn.0044d46e
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x4c]
push eax
push ecx
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x20
test eax, eax
je 0x416c5d
jmp 0x416991
push esi
lea edx, [esp + 0x44]
push 0x46fd00
push edx
call fcn.0044d46e
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x4c]
push eax
push ecx
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x20
test eax, eax
je 0x416c5d
jmp 0x416991
mov edx, dword [ebp]
mov eax, dword [esp + 0x24]
lea edx, [edx + eax + 1]
cmp edx, dword [edi]
jb 0x416954
cmp dword [esp + 0x8c], 0
je 0x416c5d
push edi
push ebx
call fcn.00424ee0
add esp, 8
test eax, eax
je 0x416c5d
mov eax, dword [ebp]
mov ecx, dword [esp + 0x24]
lea edx, [eax + ecx + 1]
cmp edx, dword [edi]
jae 0x416921
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x24], eax
jle 0x416988
lea esp, [esp]
cmp ecx, dword [esp + 0x1c]
jae 0x416988
mov cl, byte [ecx]
mov edx, dword [ebp]
mov esi, dword [ebx]
mov byte [edx + esi], cl
mov ecx, dword [esp + 0x14]
add dword [ebp], 1
add ecx, 1
add eax, 1
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
jl 0x416960
mov edx, dword [ebp]
mov eax, dword [ebx]
mov byte [edx + eax], 0
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x14], ecx
jae 0x4169f0
cmp byte [esp + 0x13], 0
je 0x4169f0
mov edx, dword [ebp]
add edx, 1
cmp edx, dword [edi]
jb 0x4169d7
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x416c5d
push edi
push ebx
call fcn.00424ee0
add esp, 8
test eax, eax
je 0x416c5d
mov eax, dword [ebp]
add eax, 1
cmp eax, dword [edi]
jae 0x4169b3
mov ecx, dword [ebp]
mov edx, dword [ebx]
mov al, byte [esp + 0x13]
mov byte [ecx + edx], al
add dword [ebp], 1
mov eax, dword [ebp]
mov ecx, dword [ebx]
mov byte [eax + ecx], 0
sub dword [esp + 0x20], 1
jne 0x4167f0
cmp byte [esp + 0x12], 0
je 0x416a5d
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], edx
jae 0x416a6b
mov eax, dword [ebp]
add eax, 1
cmp eax, dword [edi]
jb 0x416a44
mov esi, dword [esp + 0x8c]
lea ecx, [ecx]
test esi, esi
je 0x416c5d
push edi
push ebx
call fcn.00424ee0
add esp, 8
test eax, eax
je 0x416c5d
mov ecx, dword [ebp]
add ecx, 1
cmp ecx, dword [edi]
jae 0x416a20
mov edx, dword [ebp]
mov eax, dword [ebx]
mov cl, byte [esp + 0x12]
mov byte [edx + eax], cl
add dword [ebp], 1
mov eax, dword [ebp]
mov edx, dword [ebx]
mov byte [eax + edx], 0
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jb 0x416710
cmp dword [esp + 0x30], 0
je 0x416b26
mov esi, dword [esp + 0x8c]
push 0x46fcfc
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov edx, dword [esp + 0x30]
push edx
jmp 0x416d79
mov esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x34]
push str._Bad_hint_ignored:
push esi
push ebp
push edi
push ebx
mov dword [ebp], ecx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov edx, dword [esp + 0x3c]
push edx
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
push 0x46fce4
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
push 0
push 0
push eax
push ecx
push esi
push ebp
push edi
push ebx
call fcn.004165c0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.0044ca30
add esp, 0x6c
ret
mov eax, dword [ebp]
cmp eax, dword [edi]
jb 0x416b4d
cmp dword [esp + 0x8c], 0
je 0x416c5d
push edi
push ebx
call fcn.00424ee0
add esp, 8
test eax, eax
je 0x416c5d
mov ecx, dword [ebp]
mov edx, dword [ebx]
mov byte [ecx + edx], 0
jmp 0x416d8d
push 5
push 0
call fcn.004075b0
add esp, 8
test eax, eax
jne 0x416b70
mov eax, 1
sub eax, 1
je 0x416b93
sub eax, 1
je 0x416b89
sub eax, 1
jne 0x416bf5
mov dword [esp + 0x1c], 1
jmp 0x416bf5
mov dword [esp + 0x1c], 0
jmp 0x416bf5
mov ecx, dword [esi + 0x10]
xor eax, eax
cmp dword [esi + 0x14], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
jle 0x416bf5
lea esp, [esp]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx]
push eax
call fcn.0044e7f4
add esp, 4
test eax, eax
jne 0x416be0
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx]
push edx
call fcn.0044e770
add esp, 4
test eax, eax
jne 0x416be0
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 1
add eax, 1
cmp eax, dword [esi + 0x14]
mov dword [esp + 0x20], eax
jl 0x416bb0
cmp dword [esi + 0x14], 0
jne 0x416c26
mov eax, dword [esp + 0x8c]
push 0x46fce0
push eax
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.0044ca30
add esp, 0x6c
ret
push 0xd
push 0
call fcn.004074b0
mov esi, dword [esp + 0x94]
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x416ce5
test eax, eax
je 0x416c72
push 0x46fcdc
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
jne 0x416c87
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.0044ca30
add esp, 0x6c
ret
push str.Hex_STRING:
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416cd0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
push esi
push ebp
push edi
push ebx
call fcn.004163e0
add esp, 0x18
test eax, eax
je 0x416c5d
push 0xd
push 0
call fcn.004074b0
add esp, 8
test eax, eax
je 0x416d54
push 0x46fcdc
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
jne 0x416d54
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.0044ca30
add esp, 0x6c
ret
test eax, eax
jne 0x416d02
push str.STRING:
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
push 0x46fcdc
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
push esi
push ebp
push edi
push ebx
call fcn.00416490
add esp, 0x18
test eax, eax
je 0x416c5d
push 0x46fcdc
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
cmp dword [esp + 0x30], 0
je 0x416d8d
push 0x46fcfc
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov eax, dword [esp + 0x30]
push eax
push esi
push ebp
push edi
push ebx
call fcn.00424f50
add esp, 0x14
test eax, eax
je 0x416c5d
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.0044ca30
add esp, 0x6c
ret