Function at 0x4073d4
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x45ecf3
call fcn.0043bc08
sub esp, 0xf18
mov eax, dword [0x47d3a0]
push ebx
xor ebx, ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, ebx
mov esi, ecx
mov dword [ebp - 0x18], ebx
je 0x40741a
push 0x40b
push eax
call edi
push 0x12d
mov dword [ebp - 0x18], eax
push dword [0x47d3a0]
call edi
mov dword [0x47d3a4], eax
lea eax, [ebp - 0x2a]
push ebx
push eax
lea ecx, [ebp - 0xb0]
mov byte [0x47d3a8], bl
mov dword [ebp - 0xb0], 0x4665f0
mov dword [ebp - 0x90], 0x4665e8
call fcn.0040b049
cmp byte [esi + 0x101], bl
mov dword [ebp - 4], ebx
je 0x4077f3
push 0xffffffffffffffff
mov ecx, esi
call fcn.00408a3f
lea eax, [ebp - 0xf24]
push 0x400
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x23]
push ebx
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0x466594
mov dword [ebp - 0x40], 0x46658c
call fcn.00401a4d
mov ecx, dword [esi + 0xc8]
lea edx, [ebp - 0x60]
push edx
mov byte [ebp - 4], 1
mov eax, dword [ecx]
call dword [eax + 0x44]
lea eax, [esi + 0x104]
push eax
lea eax, [ebp - 0x13c]
push 0x475a40
push eax
call fcn.0040ca1a
mov edi, 0x475a3c
mov byte [ebp - 4], 2
push edi
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0040cab5
add esp, 0x18
mov eax, dword [eax + 8]
mov byte [ebp - 4], 3
cmp eax, ebx
mov dword [ebp - 0x1c], 0x4665fc
je 0x4074e4
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
call fcn.0043bfdf
pop ecx
push eax
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x1c]
call fcn.00405690
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 2
call fcn.00405fcc
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 1
call fcn.00405fcc
mov ecx, dword [esi + 0xc8]
lea edx, [ebp - 0x88]
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
cmp dword [eax + 0xc], ebx
lea ecx, [ebp - 0x88]
setne byte [ebp - 0xd]
call fcn.00401257
cmp byte [ebp - 0xd], bl
je 0x4075cd
mov ecx, dword [esi + 0xc8]
lea edx, [ebp - 0xd8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
push eax
lea eax, [ebp - 0x13c]
push str.__debuglog_
push eax
mov byte [ebp - 4], 4
call fcn.00405ce9
push edi
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 5
push eax
call fcn.00405d84
add esp, 0x18
push dword [0x46659c]
mov ecx, eax
add eax, 4
mov byte [ebp - 4], 6
neg ecx
sbb ecx, ecx
push ebx
and ecx, eax
push ecx
lea ecx, [ebp - 0x5c]
call fcn.004055fe
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401257
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 4
call fcn.00401257
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 1
call fcn.00401257
mov edi, dword [ebp - 0x58]
cmp edi, ebx
jne 0x4075d9
mov edi, 0x466588
lea eax, [ebp - 0xd]
push 1
push eax
push str.E:CodeBases_Majesty_Hotfixesisdev_srcRuntimeSharedSetupIsPreReqDlg.cpp
lea ecx, [ebp - 0x88]
call fcn.0040a3fb
mov eax, dword [eax + 8]
mov byte [ebp - 4], 7
cmp eax, ebx
jne 0x4075ff
mov eax, 0x4665fc
mov dword [ebp - 0x34], eax
push edi
lea eax, [ebp - 0x34]
push str.Prerequisites_need_elevation__launching_elevated_with_arguments:__s
push eax
mov dword [ebp - 0x30], 0x1e3
call fcn.00408215
add esp, 0xc
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 1
call fcn.00405fcc
push 0x3c
lea eax, [ebp - 0x114]
pop edi
push edi
push ebx
push eax
call fcn.0043cb80
mov eax, dword [0x47d3a0]
add esp, 0xc
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0xf24]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x58]
cmp eax, ebx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x110], 0x800440
mov dword [ebp - 0x108], str.runas
mov dword [ebp - 0x100], 0x466588
je 0x407686
mov dword [ebp - 0x100], eax
mov eax, dword [0x47d3ac]
cmp byte [eax + 1], bl
jne 0x40769a
cmp byte [eax + 2], bl
jne 0x40769a
push 1
pop eax
jmp 0x40769c
xor eax, eax
neg al
sbb eax, eax
and eax, 5
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x407719
push 0x2710
push dword [ebp - 0xdc]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
mov eax, dword [0x47d3a0]
cmp eax, ebx
je 0x4076dc
push ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xffffffffffffffff
push dword [ebp - 0xdc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0xdc]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0xdc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], bl
call fcn.00401257
jmp 0x407f2f
mov eax, dword [esi + 0xc8]
xor edi, edi
cmp dword [eax + 0x14], ebx
jle 0x407744
push 0x67f
push ebx
push ebx
push edi
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0040708a
mov eax, dword [esi + 0xc8]
inc edi
cmp edi, dword [eax + 0x14]
jl 0x407726
mov eax, dword [esi + 0xc8]
lea ecx, [ebp - 0x13c]
add eax, 8
push ecx
mov eax, dword [eax + 4]
mov eax, dword [eax]
lea ecx, [eax + 0x14]
call fcn.0040a72a
mov eax, dword [eax + 8]
mov byte [ebp - 4], 8
cmp eax, ebx
mov edi, 0x4665fc
je 0x407773
mov edi, eax
mov ecx, dword [0x47d3ac]
lea eax, [ebp - 0x88]
push 0x683
push eax
call fcn.00403cd6
mov eax, dword [eax + 8]
mov byte [ebp - 4], 9
cmp eax, ebx
jne 0x40779a
mov eax, 0x466588
push edi
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.0040ad3e
add esp, 0xc
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 8
call fcn.00401257
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 1
call fcn.00405fcc
mov eax, dword [ebp - 0xa8]
cmp eax, ebx
jne 0x4077d8
mov eax, 0x4665fc
push ebx
push 0x10
push eax
mov ecx, esi
call fcn.004082dc
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], bl
call fcn.00401257
jmp 0x4081ce
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0040a17a
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x16c], ebx
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx]
mov dword [ebp - 0x20], ecx
cmp ecx, dword [eax + 0xc]
je 0x407f28
inc dword [esi + 0x16c]
cmp byte [ecx + 0x10], bl
je 0x407f09
mov al, byte [ecx + 0x11]
push 0x67a
push ebx
push ebx
push dword [ebp - 0x14]
mov ecx, esi
mov byte [esi + 0x102], al
push dword [ebp - 0x18]
call fcn.0040708a
mov edi, dword [0x47d3a4]
cmp edi, ebx
jne 0x40786c
mov ecx, dword [esi + 0xc8]
push 0x12d
mov eax, dword [ecx]
call dword [eax + 0xc]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
push 0x3eb
push dword [0x47d3a0]
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, ebx
jne 0x407898
mov ecx, dword [esi + 0xc8]
push 0x3ec
mov eax, dword [ecx]
call dword [eax + 0xc]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [ebp - 0x1c], ebx
je 0x4078a2
mov eax, dword [ebp - 0x1c]
mov edi, eax
push 0x47d3a8
lea ecx, [ebp - 0x724]
push dword [0x47d3ac]
push eax
push edi
call fcn.0041e540
cmp dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0xa
je 0x4078cc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x20]
mov edi, 0x4665fc
mov ecx, dword [eax + 0x1c]
cmp ecx, ebx
jne 0x4078dd
mov ecx, edi
add eax, 0x3c
push eax
push ebx
push ecx
lea ecx, [ebp - 0x724]
call fcn.0041ea81
cmp byte [ebp - 0x318], bl
je 0x407a26
mov ecx, dword [0x47d3ac]
cmp byte [ecx + 1], bl
jne 0x407a26
cmp byte [ecx + 2], bl
jne 0x407a26
cmp byte [esi + 0x102], bl
jne 0x407a26
lea eax, [ebp - 0x2cc]
push 0x685
push eax
call fcn.00403cd6
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0xb
push ecx
mov ecx, eax
call fcn.0040aedb
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0xd
call fcn.00401257
mov ecx, dword [0x47d3ac]
lea eax, [ebp - 0x13c]
push eax
call fcn.004034ad
mov eax, dword [ebp - 0x134]
mov byte [ebp - 4], 0xe
cmp eax, ebx
mov dword [ebp - 0x34], 0x466588
je 0x40797a
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 0x14]
call fcn.0040a72a
mov eax, dword [eax + 8]
mov dword [ebp - 0x30], edi
cmp eax, ebx
je 0x407999
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x2a4]
call fcn.00405fcc
lea eax, [ebp - 0x34]
push 2
push eax
lea ecx, [ebp - 0x204]
call fcn.0040ad51
mov eax, dword [ebp - 0x1fc]
cmp eax, ebx
jne 0x4079c1
mov eax, edi
push 6
push 0x24
push eax
mov ecx, esi
call fcn.004082dc
cmp eax, 7
jne 0x407a08
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x14]
push 0x682
push ebx
push ebx
push eax
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0040708a
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0xd
call fcn.00401257
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x204]
jmp 0x407ef6
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0xd
call fcn.00401257
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0xa
call fcn.00405fcc
mov eax, dword [ebp - 0x20]
mov ecx, esi
push dword [eax + 0xc]
call fcn.00408a3f
cmp dword [ebp - 0x1c], ebx
je 0x407a40
cmp dword [esi + 0x110], ebx
jne 0x407aad
cmp byte [ebp - 0x337], bl
je 0x407aad
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx]
call dword [eax + 0x4c]
test al, al
jne 0x407aad
lea eax, [ebp - 0x23]
push ebx
push eax
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 0x1dc], 0x466594
mov dword [ebp - 0x1bc], 0x46658c
call fcn.00401a4d
lea eax, [ebp - 0x1dc]
mov ecx, esi
push eax
mov byte [ebp - 4], 0xf
call fcn.004071f0
cmp eax, 4
je 0x407f51
cmp eax, ebx
jne 0x408002
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0xa
call fcn.00401257
lea eax, [ebp - 0x2f4]
mov byte [esi + 0xcd], 1
mov ecx, dword [0x47d3ac]
push eax
call fcn.004081e5
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x12
cmp eax, ebx
jne 0x407ad6
mov eax, 0x466588
mov edi, 0x4665e8
cmp eax, ebx
mov dword [ebp - 0x22c], 0x4665f0
mov dword [ebp - 0x20c], edi
jne 0x407af4
mov eax, 0x47d330
lea ecx, [ebp - 0xd]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.0040b151
push dword [ebp - 0x14]
lea eax, [ebp - 0x22c]
mov ecx, esi
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x724]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.00408e98
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x16
call fcn.00405fcc
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 0x15
call fcn.00401257
mov byte [esi + 0xcd], bl
cmp byte [0x47d3a8], bl
jne 0x4081b1
cmp dword [ebp - 0x158], ebx
je 0x408109
push 0x67a
push ebx
push ebx
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.0040708a
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x1c]
cmp eax, ebx
jne 0x407b87
mov eax, 0x4665fc
cmp eax, ebx
mov dword [ebp - 0x18c], 0x4665f0
mov dword [ebp - 0x16c], edi
jne 0x407ba0
mov eax, 0x47d330
lea ecx, [ebp - 0x29]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x18c]
call fcn.0040b151
lea eax, [ebp - 0x100]
lea ecx, [ebp - 0x18c]
push eax
mov byte [ebp - 4], 0x17
call fcn.0040a72a
push eax
lea ecx, [esi + 0xd0]
mov byte [ebp - 4], 0x18
call fcn.004064f8
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x17
call fcn.00405fcc
lea eax, [ebp - 0x35]
push ebx
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0x4665f0
mov dword [ebp - 0x40], edi
call fcn.0040b049
mov eax, dword [esi + 0xd8]
mov byte [ebp - 4], 0x19
cmp eax, ebx
mov dword [ebp - 0x28], 0x4665fc
je 0x407c15
mov dword [ebp - 0x28], eax
mov ecx, dword [0x47d3ac]
lea eax, [ebp - 0x27c]
push 0x675
push eax
call fcn.00403cd6
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x1a
cmp eax, ebx
jne 0x407c3c
mov eax, 0x466588
push dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040ad3e
add esp, 0xc
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x19
call fcn.00401257
mov eax, dword [ebp - 0x58]
cmp eax, ebx
jne 0x407c67
mov eax, 0x4665fc
push eax
mov ecx, esi
call fcn.004083bd
lea eax, [ebp - 0x164]
mov ecx, esi
push eax
lea eax, [ebp - 0x724]
push eax
call fcn.0040844f
neg al
sbb al, al
inc al
mov byte [0x47d3a8], al
jne 0x408029
cmp byte [ebp - 0x336], bl
je 0x407cf7
mov eax, dword [ebp - 0x320]
dec eax
je 0x408025
dec eax
je 0x408015
sub eax, 6
je 0x408015
sub eax, 8
je 0x408020
sub eax, 0x10
jne 0x407d04
cmp byte [0x47d3a9], bl
je 0x407ce8
mov ecx, esi
call fcn.0040a17a
push ebx
push 6
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x407d04
mov ecx, dword [esi + 0xc8]
push 1
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp 0x407d04
test byte [ebp - 0x320], 0x18
jne 0x408015
lea eax, [ebp - 0x36]
push ebx
push eax
push 0x47d330
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x254], 0x4665f0
mov dword [ebp - 0x234], edi
call fcn.0040b151
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0x1b
mov eax, dword [eax + 0x1c]
cmp eax, ebx
jne 0x407d3c
mov eax, 0x4665fc
lea ecx, [ebp - 0x254]
push ecx
push 1
push eax
lea ecx, [ebp - 0x724]
call fcn.0041ea81
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 0x19
call fcn.00405fcc
lea ecx, [ebp - 0x724]
call fcn.0041f4c0
test al, al
je 0x407eb2
cmp byte [0x47d224], bl
jne 0x407d87
cmp byte [0x47db88], bl
je 0x407e0c
lea eax, [ebp - 0x22]
push 1
push eax
push str.E:CodeBases_Majesty_Hotfixesisdev_srcRuntimeSharedSetupIsPreReqDlg.cpp
lea ecx, [ebp - 0x88]
call fcn.0040a3fb
mov eax, str.The_prerequisite_appears_to_have_failed...
mov byte [ebp - 4], 0x1c
mov ecx, eax
mov dword [ebp - 0xd8], 0x4665f0
test ecx, ecx
mov dword [ebp - 0xb8], edi
jne 0x407dc1
mov eax, 0x47d330
lea ecx, [ebp - 0x21]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xd8]
call fcn.0040b151
lea eax, [ebp - 0x88]
push 0x2a3
push eax
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 4], 0x1d
call fcn.0045cb20
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x1c
call fcn.00405fcc
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x19
call fcn.00405fcc
cmp dword [ebp - 0x31c], 1
jne 0x407ea5
push 0x67f
push ebx
push ebx
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.0040708a
mov eax, dword [esi + 0xd8]
mov edi, 0x4665fc
cmp eax, ebx
je 0x407e3e
mov edi, eax
mov ecx, dword [0x47d3ac]
lea eax, [ebp - 0x1b4]
push 0x678
push eax
call fcn.00403cd6
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x1e
cmp eax, ebx
jne 0x407e65
mov eax, 0x466588
push edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040ad3e
add esp, 0xc
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x19
call fcn.00401257
mov eax, dword [ebp - 0x58]
cmp eax, ebx
jne 0x407e8e
mov eax, 0x4665fc
push 6
push 0x24
push eax
mov ecx, esi
call fcn.004082dc
cmp eax, 7
je 0x408029
jmp 0x407ec6
cmp dword [ebp - 0x31c], 2
je 0x408069
push 0x679
push ebx
push ebx
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.0040708a
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x17
call fcn.00405fcc
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x15
call fcn.00405fcc
cmp byte [esi + 0x102], bl
jne 0x407eec
inc dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x164]
call fcn.00405fcc
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], bl
call fcn.0041e99a
lea ecx, [ebp - 0x20]
call fcn.0040bacd
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebp - 0x20]
add eax, 8
mov eax, dword [eax + 4]
cmp ecx, eax
jne 0x40781d
movzx esi, byte [0x47d3a8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.00405fcc
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4
cmp byte [0x47d224], bl
jne 0x407f65
cmp byte [0x47db88], bl
je 0x407fee
lea eax, [ebp - 0x21]
push 1
push eax
push str.E:CodeBases_Majesty_Hotfixesisdev_srcRuntimeSharedSetupIsPreReqDlg.cpp
lea ecx, [ebp - 0x88]
call fcn.0040a3fb
mov eax, str.MSI_or_.NET_rebooting_before_prerequsite
mov byte [ebp - 4], 0x10
mov ecx, eax
mov dword [ebp - 0xd8], 0x4665f0
test ecx, ecx
mov dword [ebp - 0xb8], 0x4665e8
jne 0x407fa3
mov eax, 0x47d330
lea ecx, [ebp - 0x22]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xd8]
call fcn.0040b151
lea eax, [ebp - 0x88]
push 0x256
push eax
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 4], 0x11
call fcn.0045cb20
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x10
call fcn.00405fcc
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xf
call fcn.00405fcc
mov eax, dword [ebp - 0x20]
mov ecx, esi
mov eax, dword [eax + 0xc]
dec eax
push eax
call fcn.00408a3f
push 7
pop esi
jmp 0x408004
mov esi, eax
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0xa
call fcn.00401257
jmp 0x408056
mov ecx, esi
call fcn.0040a1db
test al, al
je 0x408025
call fcn.0042fc39
push 7
jmp 0x40802b
push 9
pop esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x17
call fcn.00405fcc
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x15
call fcn.00405fcc
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0xa
call fcn.00405fcc
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], bl
call fcn.0041e99a
jmp 0x407f2f
push 0x67f
push ebx
push ebx
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.0040708a
mov eax, dword [esi + 0xd8]
mov edi, 0x4665fc
cmp eax, ebx
je 0x40808e
mov edi, eax
mov ecx, dword [0x47d3ac]
lea eax, [ebp - 0x1b4]
push 0x683
push eax
call fcn.00403cd6
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x1f
cmp eax, ebx
jne 0x4080b5
mov eax, 0x466588
push edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040ad3e
add esp, 0xc
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x19
call fcn.00401257
mov eax, dword [ebp - 0x58]
cmp eax, ebx
jne 0x4080de
mov eax, 0x4665fc
push ebx
push 0x10
push eax
mov ecx, esi
call fcn.004082dc
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x17
call fcn.00405fcc
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x15
call fcn.00405fcc
jmp 0x4081b1
push 0x67f
push ebx
push ebx
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.0040708a
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 0x14]
call fcn.0040a72a
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x20
cmp eax, ebx
mov edi, 0x4665fc
je 0x408141
mov edi, eax
mov ecx, dword [0x47d3ac]
lea eax, [ebp - 0x1b4]
push 0x677
push eax
call fcn.00403cd6
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x21
cmp eax, ebx
jne 0x408168
mov eax, 0x466588
push edi
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.0040ad3e
add esp, 0xc
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x20
call fcn.00401257
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x15
call fcn.00405fcc
mov eax, dword [ebp - 0xa8]
cmp eax, ebx
jne 0x4081a6
mov eax, 0x4665fc
push ebx
push 0x30
push eax
mov ecx, esi
call fcn.004082dc
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0xa
call fcn.00405fcc
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], bl
call fcn.0041e99a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.00405fcc
push 9
pop eax
jmp 0x407f40