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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x492e64]
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 0x412cf5
push 0x1c
push 0
call fcn.00402290
add esp, 8
test eax, eax
jne 0x412cf1
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.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
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.00415a00
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00448dba
add esp, 0x6c
ret
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4131ab
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.00402290
add esp, 8
test eax, eax
jne 0x412d44
mov ecx, dword [esp + 0x8c]
push str.STRING:
push ecx
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
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 0x4130bb
lea esp, [esp]
mov ecx, dword [esp + 0x28]
mov al, byte [ecx]
test al, al
mov dword [esp + 0x20], 1
je 0x412e40
cmp al, 0x2a
jne 0x412d8f
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 0x412dbb
jmp 0x412da0
cmp al, 0x39
jg 0x412db7
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 0x412da0
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 0x412df8
cmp al, 0x2a
je 0x412df8
cmp al, 0x30
jl 0x412ddb
cmp al, 0x39
jle 0x412df8
test esi, esi
jne 0x412deb
cmp al, 0x78
je 0x412df8
cmp al, 0x64
je 0x412df8
cmp al, 0x6f
je 0x412df8
add ecx, 1
mov byte [esp + 0x13], al
mov dword [esp + 0x28], ecx
jmp 0x412dfd
mov byte [esp + 0x13], 0
mov al, byte [ecx]
test al, al
je 0x412e2c
cmp al, 0x2a
je 0x412e2c
cmp al, 0x30
jl 0x412e0f
cmp al, 0x39
jle 0x412e2c
test esi, esi
jne 0x412e1f
cmp al, 0x78
je 0x412e2c
cmp al, 0x64
je 0x412e2c
cmp al, 0x6f
je 0x412e2c
add ecx, 1
mov byte [esp + 0x12], al
mov dword [esp + 0x28], ecx
jmp 0x412e31
mov byte [esp + 0x12], 0
cmp dword [esp + 0x20], 0
je 0x41304b
lea esp, [esp]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jae 0x41304b
mov al, byte [esp + 0x1b]
xor esi, esi
cmp al, 0x61
je 0x412e7e
cmp al, 0x74
je 0x412e7e
mov eax, dword [esp + 0x24]
test eax, eax
mov ecx, dword [esp + 0x14]
jle 0x412e82
movzx edx, byte [ecx]
shl esi, 8
add esi, edx
add ecx, 1
sub eax, 1
jne 0x412e68
mov dword [esp + 0x14], ecx
jmp 0x412e82
mov ecx, dword [esp + 0x14]
movsx eax, byte [esp + 0x1b]
add eax, 0xffffff9f
cmp eax, 0x17
ja case.0x412e9a.98
movzx eax, byte [eax + 0x41340c]
jmp dword [eax*4 + 0x4133f8]
push 0x21
push 0
call fcn.00402290
add esp, 8
test eax, eax
je 0x412ec3
cmp esi, 0x10
jge 0x412ec3
push esi
push str.0_lx
lea ecx, [esp + 0x48]
push ecx
jmp 0x412ece
push esi
push 0x4768a4
lea edx, [esp + 0x48]
push edx
call fcn.0044ba14
mov ecx, dword [esp + 0x98]
add esp, 0xc
lea eax, [esp + 0x40]
push eax
push ecx
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
jmp 0x412fe1
push esi
lea edx, [esp + 0x44]
push 0x4768a0
push edx
call fcn.0044ba14
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x4c]
push eax
push ecx
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x20
test eax, eax
je 0x4132ad
jmp 0x412fe1
push esi
lea edx, [esp + 0x44]
push 0x47689c
push edx
call fcn.0044ba14
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x4c]
push eax
push ecx
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x20
test eax, eax
je 0x4132ad
jmp 0x412fe1
mov edx, dword [ebp]
mov eax, dword [esp + 0x24]
lea edx, [edx + eax + 1]
cmp edx, dword [edi]
jb 0x412fa4
cmp dword [esp + 0x8c], 0
je 0x4132ad
push edi
push ebx
call fcn.00420dd0
add esp, 8
test eax, eax
je 0x4132ad
mov eax, dword [ebp]
mov ecx, dword [esp + 0x24]
lea edx, [eax + ecx + 1]
cmp edx, dword [edi]
jae 0x412f71
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x24], eax
jle 0x412fd8
lea esp, [esp]
cmp ecx, dword [esp + 0x1c]
jae 0x412fd8
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 0x412fb0
mov edx, dword [ebp]
mov eax, dword [ebx]
mov byte [edx + eax], 0
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x14], ecx
jae 0x413040
cmp byte [esp + 0x13], 0
je 0x413040
mov edx, dword [ebp]
add edx, 1
cmp edx, dword [edi]
jb 0x413027
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x4132ad
push edi
push ebx
call fcn.00420dd0
add esp, 8
test eax, eax
je 0x4132ad
mov eax, dword [ebp]
add eax, 1
cmp eax, dword [edi]
jae 0x413003
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 0x412e40
cmp byte [esp + 0x12], 0
je 0x4130ad
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], edx
jae 0x4130bb
mov eax, dword [ebp]
add eax, 1
cmp eax, dword [edi]
jb 0x413094
mov esi, dword [esp + 0x8c]
lea ecx, [ecx]
test esi, esi
je 0x4132ad
push edi
push ebx
call fcn.00420dd0
add esp, 8
test eax, eax
je 0x4132ad
mov ecx, dword [ebp]
add ecx, 1
cmp ecx, dword [edi]
jae 0x413070
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 0x412d60
cmp dword [esp + 0x30], 0
je 0x413176
mov esi, dword [esp + 0x8c]
push 0x476898
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
mov edx, dword [esp + 0x30]
push edx
jmp 0x4133c9
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.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
mov edx, dword [esp + 0x3c]
push edx
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
push 0x476880
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
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.00412c10
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00448dba
add esp, 0x6c
ret
mov eax, dword [ebp]
cmp eax, dword [edi]
jb 0x41319d
cmp dword [esp + 0x8c], 0
je 0x4132ad
push edi
push ebx
call fcn.00420dd0
add esp, 8
test eax, eax
je 0x4132ad
mov ecx, dword [ebp]
mov edx, dword [ebx]
mov byte [ecx + edx], 0
jmp 0x4133dd
push 5
push 0
call fcn.00402390
add esp, 8
test eax, eax
jne 0x4131c0
mov eax, 1
sub eax, 1
je 0x4131e3
sub eax, 1
je 0x4131d9
sub eax, 1
jne 0x413245
mov dword [esp + 0x1c], 1
jmp 0x413245
mov dword [esp + 0x1c], 0
jmp 0x413245
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 0x413245
lea esp, [esp]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx]
push eax
call fcn.0044ca61
add esp, 4
test eax, eax
jne 0x413230
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx]
push edx
call fcn.0044c9e4
add esp, 4
test eax, eax
jne 0x413230
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 0x413200
cmp dword [esi + 0x14], 0
jne 0x413276
mov eax, dword [esp + 0x8c]
push 0x47687c
push eax
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00448dba
add esp, 0x6c
ret
push 0xd
push 0
call fcn.00402290
mov esi, dword [esp + 0x94]
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x413335
test eax, eax
je 0x4132c2
push 0x476878
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
jne 0x4132d7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00448dba
add esp, 0x6c
ret
push str.Hex_STRING:
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x413320
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.00412a30
add esp, 0x18
test eax, eax
je 0x4132ad
push 0xd
push 0
call fcn.00402290
add esp, 8
test eax, eax
je 0x4133a4
push 0x476878
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
jne 0x4133a4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00448dba
add esp, 0x6c
ret
test eax, eax
jne 0x413352
push str.STRING:
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
push 0x476878
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
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.00412ae0
add esp, 0x18
test eax, eax
je 0x4132ad
push 0x476878
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
cmp dword [esp + 0x30], 0
je 0x4133dd
push 0x476898
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
mov eax, dword [esp + 0x30]
push eax
push esi
push ebp
push edi
push ebx
call fcn.00420e40
add esp, 0x14
test eax, eax
je 0x4132ad
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00448dba
add esp, 0x6c
ret