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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x56468b
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x5df890]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x5df890]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.0042028a
mov eax, dword [ebx + 0x140]
mov esi, dword [0x566558]
push eax
mov eax, dword [ebx + 0x20]
push 1
push 0x80
push eax
mov byte [ebx + 0x138], 0
mov byte [ebx + 0x139], 0
mov byte [ebx + 0x13a], 0
mov byte [ebx + 0x13b], 0
mov byte [ebx + 0x13c], 0
call esi
mov eax, dword [ebx + 0x140]
mov ecx, dword [ebx + 0x20]
push eax
push 0
push 0x80
push ecx
call esi
lea edx, [esp + 0x40]
push edx
call fcn.00414260
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x134], 0
call fcn.00401ee0
mov eax, str._gencert
lea ecx, [esp + 0x40]
call fcn.00402450
mov byte [ebx + 0x13c], al
mov eax, str._quick
lea ecx, [esp + 0x40]
call fcn.00402450
mov byte [ebx + 0x138], al
mov eax, str._silent
lea ecx, [esp + 0x40]
call fcn.00402450
mov byte [ebx + 0x139], al
mov eax, str._noexec
lea ecx, [esp + 0x40]
call fcn.00402450
mov byte [ebx + 0x13a], al
mov eax, str._force
lea ecx, [esp + 0x40]
call fcn.00402450
mov byte [ebx + 0x13b], al
test al, al
jne 0x41205f
push ebx
call fcn.00410d90
cmp al, 1
jne 0x41205f
mov edx, dword [ebx]
mov eax, dword [edx + 0x158]
mov ecx, ebx
call eax
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x134], 0xffffffff
call fcn.004129f0
jmp 0x4129c3
mov eax, str._target
lea ecx, [esp + 0x40]
call fcn.00402450
test al, al
je 0x412215
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x44]
call fcn.004024c0
mov byte [esp + 0x130], 1
mov esi, dword [eax]
mov eax, esi
mov dword [esp + 0xe4], 0xf
mov dword [esp + 0xe0], 0
mov byte [esp + 0xd0], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4120b0
sub eax, edx
push eax
push esi
lea ecx, [esp + 0xd4]
call fcn.004016f0
mov byte [esp + 0x130], 3
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4120ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0xe4], 0x10
mov eax, dword [esp + 0xd0]
jae 0x412107
lea eax, [esp + 0xd0]
push eax
push str.target_name___s
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x58], esp
push 0xffffffffffffffff
push 0
lea edx, [esp + 0xf0]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push edx
mov byte [ecx + 4], 0
call fcn.00401d50
lea eax, [esp + 0x94]
push eax
call fcn.005605c0
add esp, 0x20
mov esi, eax
push 0xffffffffffffffff
push 0
lea edi, [ebx + 0x144]
push esi
mov ecx, edi
mov byte [esp + 0x13c], 4
call fcn.00401d50
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x1c]
push ecx
lea ecx, [edi + 0x1c]
call fcn.00401d50
push 0xffffffffffffffff
push 0
add esi, 0x38
push esi
lea ecx, [edi + 0x38]
call fcn.00401d50
lea esi, [esp + 0x78]
mov byte [esp + 0x130], 3
call fcn.0040fec0
cmp dword [ebx + 0x194], 0x10
jb 0x4121b1
mov ecx, dword [ebx + 0x180]
jmp 0x4121b7
lea ecx, [ebx + 0x180]
mov esi, 0x10
cmp dword [ebx + 0x178], esi
jb 0x4121cc
mov eax, dword [ebx + 0x164]
jmp 0x4121d2
lea eax, [ebx + 0x164]
cmp dword [edi + 0x18], esi
jb 0x4121dc
mov edi, dword [edi + 4]
jmp 0x4121df
add edi, 4
push ecx
push eax
push edi
push str.caname___s__capath___s__certpath___s
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
add esp, 0x14
mov byte [esp + 0x130], 0
cmp dword [esp + 0xe4], esi
jb 0x412215
mov edx, dword [esp + 0xd0]
push edx
call fcn.0041d541
add esp, 4
movzx eax, byte [ebx + 0x13a]
movzx ecx, byte [ebx + 0x139]
movzx edx, byte [ebx + 0x138]
push eax
push ecx
push edx
push str.Quick_Mode___d__Silent_Mode___d__No_Execute_:__d
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
add esp, 0x14
cmp byte [ebx + 0x13c], 0
je 0x41245d
push str.generate_cert
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
add esp, 8
push 0xffffffffffffffff
xor edi, edi
lea eax, [ebx + 0x160]
push edi
mov esi, 0xf
push eax
lea ecx, [esp + 0xf4]
mov dword [esp + 0x10c], esi
mov dword [esp + 0x108], edi
mov byte [esp + 0xf8], 0
call fcn.00401d50
push 0xffffffffffffffff
mov byte [esp + 0x134], 5
lea eax, [ebx + 0x17c]
push edi
push eax
lea ecx, [esp + 0xd8]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], edi
mov byte [esp + 0xdc], 0
call fcn.00401d50
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x14c], 6
mov dword [esp + 0x58], esp
push 0xffffffffffffffff
lea eax, [ebx + 0x144]
push edi
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], edi
push eax
mov byte [ecx + 4], 0
call fcn.00401d50
sub esp, 0x1c
mov byte [esp + 0x168], 7
mov ecx, esp
mov dword [esp + 0x4c], esp
push edi
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], edi
push 0x5cf898
mov byte [ecx + 4], 0
call fcn.004016f0
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x184], 8
mov dword [esp + 0x8c], esp
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x128]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], edi
push eax
mov byte [ecx + 4], 0
call fcn.00401d50
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x1a0], 9
mov dword [esp + 0x88], esp
push 0xffffffffffffffff
push edi
lea edx, [esp + 0x160]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], edi
push edx
mov byte [ecx + 4], 0
call fcn.00401d50
mov byte [esp + 0x1a0], 6
call fcn.0040cc00
add esp, 0x70
cmp eax, edi
je 0x412397
push str.generate_cert_success
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
add esp, 8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push edi
lea eax, [esp + 0xf0]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], edi
push eax
mov byte [ecx + 4], 0
call fcn.00401d50
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x168], 0xa
mov dword [esp + 0x70], esp
push 0xffffffffffffffff
push edi
lea edx, [esp + 0x128]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], edi
push edx
mov byte [ecx + 4], 0
call fcn.00401d50
mov byte [esp + 0x168], 6
call fcn.0040d0f0
add esp, 0x38
cmp eax, edi
je 0x41240b
push str.load_cert_success
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
add esp, 8
cmp dword [esp + 0xe4], 0x10
jb 0x412425
mov eax, dword [esp + 0xd0]
push eax
call fcn.0041d541
add esp, 4
mov byte [esp + 0x130], 0
cmp dword [esp + 0x100], 0x10
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], edi
mov byte [esp + 0xd0], 0
jb 0x41245d
mov ecx, dword [esp + 0xec]
push ecx
call fcn.0041d541
add esp, 4
push ebx
call fcn.00413ab0
mov ecx, dword [ebx + 0x84]
sub ecx, dword [ebx + 0x80]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
xor esi, esi
add eax, edx
je 0x412565
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x84]
sub ecx, dword [ebx + 0x80]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jb 0x4124b6
call fcn.0043a4a0
mov edi, dword [ebx + 0x80]
add edi, dword [esp + 0x14]
sub esp, 0x8c
mov edx, esp
mov dword [esp + 0xa4], esp
push edx
call fcn.00411550
call fcn.0040f340
mov ecx, dword [ebx + 0x84]
sub ecx, dword [ebx + 0x80]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x8c
cmp esi, eax
jb 0x412508
call fcn.0043a4a0
mov edi, dword [ebx + 0x80]
add edi, dword [esp + 0x14]
sub esp, 0x8c
mov ecx, esp
mov dword [esp + 0xa4], esp
push ecx
call fcn.00411550
call fcn.0040f890
mov ecx, dword [ebx + 0x84]
sub ecx, dword [ebx + 0x80]
add dword [esp + 0xa0], 0x8c
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add esp, 0x8c
cmp esi, eax
jb 0x41248e
lea edi, [ebx + 0xb4]
call fcn.0040d480
mov ecx, dword [ebx + 0xdc]
sub ecx, dword [ebx + 0xd8]
test ecx, 0xfffffffc
jle 0x41296b
cmp byte [ebx + 0x138], 0
jne 0x41296b
lea esi, [esp + 0x60]
mov ecx, edi
call fcn.004105c0
lea esi, [esp + 0x20]
mov ecx, edi
mov byte [esp + 0x130], 0xc
call fcn.004105a0
mov byte [esp + 0x130], 0xd
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x2c]
sar edx, 2
push edx
push str.Found_Firefox__d
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x38]
add esp, 0xc
sar eax, 2
mov dword [esp + 0x14], 0
test eax, eax
jbe 0x4127a9
mov esi, dword [esp + 0x14]
cmp esi, eax
jb 0x412601
call fcn.0043a4a0
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + esi*4]
lea ecx, [esp + 0xcc]
push esi
push ecx
call fcn.0055cd30
add esp, 8
mov byte [esp + 0x130], 0xe
mov esi, dword [esp + 0xd0]
mov edi, 0x10
cmp dword [esp + 0xe4], edi
jae 0x41263d
lea esi, [esp + 0xd0]
call fcn.00428d99
mov eax, dword [eax + 8]
push 0
push esi
push eax
call dword [0x566424]
mov esi, eax
test esi, esi
jne 0x412677
mov byte [esp + 0x130], 0xd
cmp dword [esp + 0xe4], edi
jb 0x41278d
mov edx, dword [esp + 0xd0]
push edx
jmp 0x412785
xor eax, eax
mov edx, 0xf
mov dword [esp + 0x100], edx
mov dword [esp + 0xfc], eax
mov byte [esp + 0xec], al
mov dword [esp + 0x11c], edx
mov dword [esp + 0x118], eax
mov byte [esp + 0x108], al
lea ecx, [esp + 0x104]
push ecx
lea ecx, [esp + 0xec]
push ecx
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x154], 0x10
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
mov dword [ecx + 0x18], edx
push eax
lea edx, [esp + 0xf8]
mov dword [ecx + 0x14], eax
push edx
mov byte [ecx + 4], al
call fcn.00401d50
call fcn.0055de50
add esp, 0x24
lea eax, [esp + 0xcc]
push eax
lea edi, [ebx + 0x94]
call fcn.00413f50
mov dword [eax], esi
mov esi, 0x10
cmp dword [esp + 0x11c], esi
jb 0x41271d
mov ecx, dword [esp + 0x108]
push ecx
call fcn.0041d541
add esp, 4
xor edi, edi
mov dword [esp + 0x11c], 0xf
mov dword [esp + 0x118], edi
mov byte [esp + 0x108], 0
cmp dword [esp + 0x100], esi
jb 0x412752
mov edx, dword [esp + 0xec]
push edx
call fcn.0041d541
add esp, 4
mov byte [esp + 0x130], 0xd
mov dword [esp + 0x100], 0xf
mov dword [esp + 0xfc], edi
mov byte [esp + 0xec], 0
cmp dword [esp + 0xe4], esi
jb 0x41278d
mov eax, dword [esp + 0xd0]
push eax
call fcn.0041d541
add esp, 4
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
inc esi
sar eax, 2
mov dword [esp + 0x14], esi
cmp esi, eax
jb 0x412601
push 4
push 0
push 0x10
push 0x10
push 0x10
lea ecx, [ebx + 0x8c]
call fcn.00420cb6
mov eax, dword [ebx + 0x90]
push eax
call fcn.00428d99
mov ecx, dword [eax + 0x78]
mov ecx, dword [ecx]
call fcn.004166b0
mov eax, dword [ebx + 0xac]
mov edx, dword [ebx + 0x94]
mov esi, dword [eax]
mov dword [esp + 0x18], edx
jmp 0x4127f0
mov ecx, dword [esp + 0x18]
mov edi, dword [ebx + 0xac]
mov eax, dword [ebx + 0x94]
test ecx, ecx
je 0x412808
cmp ecx, eax
je 0x41280d
call fcn.0043a4a0
cmp esi, edi
je 0x4128af
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x412861
call fcn.0043a4a0
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x41282e
call fcn.0043a4a0
mov eax, dword [esi + 0x28]
mov ecx, dword [ebx + 0x90]
push eax
push ecx
call fcn.00428d99
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.00416530
cmp dword [esp + 0x18], 0
jne 0x412854
call fcn.0043a4a0
cmp byte [esi + 0x2d], 0
je 0x412865
call fcn.0043a4a0
jmp 0x4127f0
mov eax, dword [eax]
jmp 0x412824
mov eax, dword [esi + 8]
cmp byte [eax + 0x2d], 0
jne 0x41288f
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x2d], 0
jne 0x4127f0
lea esp, [esp]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x2d], 0
je 0x412880
jmp 0x4127f0
mov eax, dword [esi + 4]
cmp byte [eax + 0x2d], 0
jne 0x4128a8
cmp esi, dword [eax + 8]
jne 0x4128a8
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x2d], 0
je 0x412898
mov esi, eax
jmp 0x4127f0
mov edi, ebx
call fcn.004132a0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x30], esp
push ecx
lea ecx, [esp + 0x3c]
call fcn.00413da0
push ebx
call fcn.00413350
cmp byte [ebx + 0x139], 1
jne 0x4128df
mov ecx, ebx
call fcn.00412b40
push str.on_initdialog_complete_1
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
mov eax, dword [esp + 0x34]
xor esi, esi
add esp, 8
cmp eax, esi
je 0x412904
push eax
call fcn.0041d541
add esp, 4
mov edx, dword [esp + 0x20]
push edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
call fcn.0041d541
mov eax, dword [esp + 0x70]
add esp, 4
cmp eax, esi
je 0x412943
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x70]
push ecx
call fcn.004015a0
mov edx, dword [esp + 0x70]
add esp, 4
push edx
call fcn.0041d541
add esp, 4
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x60]
push eax
call fcn.0041d541
add esp, 4
mov dword [esp + 0x130], 0x11
jmp 0x4129ad
push str.Not_found_Moailla_browser_or_Quick_mode
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
add esp, 8
mov ecx, ebx
call fcn.00411620
push str.wizcertutil_complete_1
push str.CWizCertUtilDlg::OnInitDialog
call fcn.0055e8c0
mov edx, dword [ebx]
mov eax, dword [edx + 0x158]
add esp, 8
mov ecx, ebx
call eax
mov dword [esp + 0x130], 0xb
lea esi, [esp + 0x40]
call fcn.004142e0
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0041d541
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.0043a097
mov esp, ebp
pop ebp
ret