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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f0318
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x5441b4]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push esi
push edi
mov eax, dword [0x5441b4]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [0x547e58]
test eax, eax
je 0x44252e
cmp dword [eax + 8], 4
mov edi, eax
jl 0x44252e
push str.MainSetup.cpp
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push ecx
mov ecx, str.begin_RunSetup
mov esi, 0xd
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
lea esi, [esp + 0x3c]
call fcn.00403ba0
mov edi, 8
cmp dword [eax + 0x14], edi
jb 0x442545
mov ebx, dword [eax]
jmp 0x442547
mov ebx, eax
call fcn.004024a0
xor ebx, ebx
cmp eax, ebx
setne byte [esp + 0x13]
cmp dword [esp + 0x50], edi
jb 0x442568
mov edx, dword [esp + 0x3c]
push edx
call fcn.004b6106
add esp, 4
cmp byte [esp + 0x13], bl
je 0x442a0b
mov eax, dword [0x543f28]
mov edx, dword [eax + 0xc]
mov ecx, 0x543f28
call edx
add eax, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0xa0], ebx
mov eax, dword [0x543f28]
mov edx, dword [eax + 0xc]
mov ecx, 0x543f28
call edx
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0xa0], 1
test byte [0x548484], 1
jne 0x442690
or dword [0x548484], 1
or eax, 0xffffffff
mov ecx, 0xf
mov dword [0x548410], eax
mov dword [0x54840c], eax
mov dword [0x548414], ebx
mov dword [0x54843c], ecx
mov dword [0x548438], ebx
mov byte [0x548428], bl
mov dword [0x548418], ebx
mov dword [0x54841c], ebx
mov dword [0x548420], ebx
mov dword [0x548424], ebx
mov dword [0x548444], ebx
mov dword [0x548448], ebx
mov dword [0x548408], 0x50f48c
mov dword [0x548468], ecx
mov dword [0x548464], ebx
mov byte [0x548454], bl
mov ecx, 4
mov byte [esp + 0xa0], cl
push ebx
mov dword [0x548470], ecx
push 0x50c5a6
mov ecx, 0x548454
mov dword [0x548478], eax
mov dword [0x548474], eax
mov byte [0x54847c], bl
mov byte [0x54844c], bl
mov dword [0x548450], ebx
call fcn.00406bf0
push 0x4f1010
mov dword [0x548478], ebx
mov dword [0x548474], ebx
mov byte [0x548480], bl
call fcn.004b809e
add esp, 4
mov byte [esp + 0xa0], 1
push 0x50f818
push 0x548408
mov edx, str.Setup
lea ecx, [esp + 0x44]
call fcn.00429870
mov bl, 5
lea esi, [esp + 0x58]
mov byte [esp + 0xa0], bl
call fcn.00403cf0
mov byte [esp + 0xa0], 6
cmp dword [eax + 0x14], edi
jb 0x4426c9
mov eax, dword [eax]
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x50], edi
jae 0x4426d7
lea ecx, [esp + 0x3c]
push eax
push ecx
lea edi, [esp + 0x20]
call fcn.00406b50
mov edi, 8
add esp, 8
mov byte [esp + 0xa0], bl
cmp dword [esp + 0x6c], edi
jb 0x442704
mov eax, dword [esp + 0x58]
push eax
call fcn.004b6106
add esp, 4
push 0x511030
lea ecx, [esp + 0x1c]
push ecx
mov ebx, 0x2e
call fcn.0042d2b0
mov eax, 1
test byte [0x548484], al
jne 0x442802
or dword [0x548484], eax
xor ebx, ebx
or eax, 0xffffffff
mov ecx, 0xf
mov dword [0x548410], eax
mov dword [0x54840c], eax
mov dword [0x548414], ebx
mov dword [0x54843c], ecx
mov dword [0x548438], ebx
mov byte [0x548428], bl
mov dword [0x548418], ebx
mov dword [0x54841c], ebx
mov dword [0x548420], ebx
mov dword [0x548424], ebx
mov dword [0x548444], ebx
mov dword [0x548448], ebx
mov dword [0x548408], 0x50f48c
mov dword [0x548468], ecx
mov dword [0x548464], ebx
mov byte [0x548454], bl
mov byte [esp + 0xa0], 9
push ebx
push 0x50c5a6
mov ecx, 0x548454
mov dword [0x548478], eax
mov dword [0x548474], eax
mov dword [0x548470], 4
mov byte [0x54847c], bl
mov byte [0x54844c], bl
mov dword [0x548450], ebx
call fcn.00406bf0
push 0x4f1010
mov dword [0x548478], ebx
mov dword [0x548474], ebx
mov byte [0x548480], bl
call fcn.004b809e
add esp, 4
mov byte [esp + 0xa0], 5
jmp 0x442804
xor ebx, ebx
push 0x50f824
push 0x548408
mov edx, str.Setup
lea ecx, [esp + 0x28]
call fcn.00429870
lea esi, [esp + 0x58]
mov byte [esp + 0xa0], 0xa
call fcn.00403cf0
mov byte [esp + 0xa0], 0xb
cmp dword [eax + 0x14], edi
jb 0x44283c
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x34], edi
jae 0x44284a
lea ecx, [esp + 0x20]
push eax
push ecx
lea edi, [esp + 0x24]
call fcn.00406b50
mov esi, 8
add esp, 8
mov byte [esp + 0xa0], 0xa
cmp dword [esp + 0x6c], esi
jb 0x442878
mov edx, dword [esp + 0x58]
push edx
call fcn.004b6106
add esp, 4
mov ecx, dword [esp + 0x18]
call fcn.00445410
cmp eax, ebx
jne 0x44292d
cmp dword [esp + 0x34], esi
jb 0x44289c
mov eax, dword [esp + 0x20]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov edi, 7
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], cx
cmp dword [esp + 0x50], esi
jb 0x4428c3
mov edx, dword [esp + 0x3c]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov word [esp + 0x3c], ax
mov byte [esp + 0xa0], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4428f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xa0], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44252e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x44252e
mov eax, dword [0x547e58]
cmp eax, ebx
je 0x442969
cmp dword [eax + 8], 4
mov edi, eax
jl 0x442969
push str.MainSetup.cpp
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
mov ecx, 0x511090
mov esi, 0x19
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
mov esi, 8
cmp dword [esp + 0x34], esi
jb 0x44297c
mov edx, dword [esp + 0x20]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov edi, 7
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], ax
cmp dword [esp + 0x50], esi
jb 0x4429a3
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004b6106
add esp, 4
mov byte [esp + 0xa0], bl
mov eax, dword [esp + 0x1c]
xor edx, edx
add eax, 0xfffffff0
mov word [esp + 0x3c], dx
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4429d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xa0], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x443034
call fcn.00443060
test al, al
je 0x442a52
mov eax, dword [0x547e58]
cmp eax, ebx
je 0x442a4b
cmp dword [eax + 8], 4
mov edi, eax
jl 0x442a4b
push str.MainSetup.cpp
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
mov ecx, 0x5110c8
mov esi, 0x1f
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
xor al, al
jmp 0x443034
mov esi, dword [0x545650]
mov byte [0x547e30], bl
mov eax, esi
cmp esi, 2
jb 0x442a6a
mov eax, 2
cmp dword [0x545654], 0x10
mov edx, dword [0x545640]
jae 0x442a7e
mov edx, 0x545640
mov ecx, 0x50b6b4
call fcn.00406190
cmp eax, ebx
jne 0x442aa0
cmp esi, 2
jae 0x442a96
or eax, 0xffffffff
jmp 0x442a9e
xor eax, eax
cmp esi, 2
setne al
cmp eax, ebx
sete al
cmp al, bl
sete al
cmp al, bl
jne 0x442d48
call fcn.00403ee0
test al, al
jne 0x442d48
lea ecx, [esp + 0x3c]
call fcn.004036e0
push ebx
mov ecx, eax
lea esi, [esp + 0x24]
mov dword [esp + 0xa4], 0xc
call fcn.00409320
add esp, 4
mov byte [esp + 0xa0], 0xe
cmp dword [esp + 0x50], edi
jb 0x442afb
mov edx, dword [esp + 0x3c]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov esi, 7
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], ax
cmp dword [esp + 0x30], ebx
jne 0x442b2e
lea ecx, [esp + 0x20]
mov dword [esp + 0xa0], 0xffffffff
call fcn.00406760
jmp 0x442d48
push 0x50ccc0
mov ebx, 1
lea edi, [esp + 0x24]
call fcn.0040ebe0
cmp eax, 0xffffffff
jne 0x442b5f
mov dword [esp + 0xa0], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.00406760
jmp 0x442d43
push eax
xor ebx, ebx
push ebx
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00406370
mov edi, eax
lea edx, [esp + 0x20]
cmp edx, edi
je 0x442bdd
cmp dword [esp + 0x34], 8
jb 0x442b8f
mov eax, dword [esp + 0x20]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], cx
cmp dword [edi + 0x14], 8
jae 0x442bbc
mov eax, dword [edi + 0x10]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x24]
push edi
push eax
call fcn.004b6540
add esp, 0xc
jmp 0x442bc4
mov ecx, dword [edi]
mov dword [esp + 0x20], ecx
mov dword [edi], ebx
mov edx, dword [edi + 0x10]
mov dword [esp + 0x30], edx
mov eax, dword [edi + 0x14]
mov dword [esp + 0x34], eax
xor ecx, ecx
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], ebx
mov word [edi], cx
mov byte [esp + 0xa0], 0xe
cmp dword [esp + 0x6c], 8
jb 0x442bf9
mov edx, dword [esp + 0x58]
push edx
call fcn.004b6106
add esp, 4
push 1
push ebx
push 0x50ccc0
lea ecx, [esp + 0x2c]
call fcn.00411bb0
cmp eax, 0xffffffff
je 0x442b46
mov ecx, dword [esp + 0x30]
sub ecx, eax
dec ecx
push ecx
inc eax
push eax
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x2c]
call fcn.00406370
mov edi, eax
lea eax, [esp + 0x20]
cmp eax, edi
je 0x442c96
cmp dword [esp + 0x34], 8
jb 0x442c49
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], dx
cmp dword [edi + 0x14], 8
jae 0x442c75
mov eax, dword [edi + 0x10]
inc eax
add eax, eax
push eax
lea ecx, [esp + 0x24]
push edi
push ecx
call fcn.004b6540
add esp, 0xc
jmp 0x442c7d
mov edx, dword [edi]
mov dword [esp + 0x20], edx
mov dword [edi], ebx
mov eax, dword [edi + 0x10]
mov dword [esp + 0x30], eax
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x34], ecx
xor edx, edx
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], ebx
mov word [edi], dx
cmp dword [esp + 0x6c], 8
jb 0x442caa
mov eax, dword [esp + 0x58]
push eax
call fcn.004b6106
add esp, 4
mov esi, dword [esp + 0x30]
mov edx, esi
cmp esi, 2
jb 0x442cba
mov edx, 2
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
cmp edi, 8
jae 0x442ccb
lea ecx, [esp + 0x20]
mov eax, 0x50c6cc
cmp edx, ebx
jbe 0x442cfb
mov bx, word [ecx]
cmp bx, word [eax]
jne 0x442ce9
add ecx, 2
add eax, 2
dec edx
jne 0x442cd4
xor ebx, ebx
jmp 0x442cfb
mov cx, bx
cmp cx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
inc eax
xor ebx, ebx
cmp eax, ebx
jne 0x442d0f
cmp esi, 2
jae 0x442d05
or eax, 0xffffffff
jmp 0x442d0d
xor eax, eax
cmp esi, 2
setne al
cmp eax, ebx
sete al
cmp al, bl
sete al
mov dword [esp + 0xa0], 0xffffffff
cmp al, bl
jne 0x442b51
mov byte [0x547e30], 1
cmp edi, 8
jb 0x442d43
mov edx, dword [esp + 0x20]
push edx
call fcn.004b6106
add esp, 4
mov edi, 8
test byte [0x547f78], 1
jne 0x442d6a
or dword [0x547f78], 1
call fcn.0044b060
push 0x4f1090
call fcn.004b809e
add esp, 4
mov ebx, 0x547f80
call fcn.0044da70
mov eax, 1
test byte [0x548034], al
jne 0x442db0
or dword [0x548034], eax
mov dword [esp + 0xa0], 0x11
call fcn.0043ec60
push 0x4f10a0
call fcn.004b809e
add esp, 4
or esi, 0xffffffff
mov dword [esp + 0xa0], esi
jmp 0x442db3
or esi, 0xffffffff
mov ebx, 0x548038
call fcn.004404e0
mov eax, 1
test byte [0x548034], al
jne 0x442df4
or dword [0x548034], eax
mov dword [esp + 0xa0], 0x12
call fcn.0043ec60
push 0x4f10a0
call fcn.004b809e
add esp, 4
mov dword [esp + 0xa0], esi
mov ebx, 0x548038
call fcn.00440550
mov eax, 1
test byte [0x548034], al
jne 0x442e35
or dword [0x548034], eax
mov dword [esp + 0xa0], 0x13
call fcn.0043ec60
push 0x4f10a0
call fcn.004b809e
add esp, 4
mov dword [esp + 0xa0], esi
mov ebx, 0x548038
call fcn.00440640
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x442e8d
call fcn.004432a0
mov bl, al
mov eax, dword [0x547e58]
test eax, eax
je 0x442e86
cmp dword [eax + 8], 4
mov edi, eax
jl 0x442e86
push str.MainSetup.cpp
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
mov ecx, str.end_RunSetup
mov esi, 0x54
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
mov al, bl
jmp 0x443034
push 0x45c
call fcn.004b64b4
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0xa0], 0x14
test eax, eax
je 0x442eb7
push eax
call fcn.0044a1f0
mov ebx, eax
jmp 0x442eb9
xor ebx, ebx
mov dword [esp + 0xa0], 0xffffffff
mov esi, dword [fcn.0047a2c4]
push str.SetupSetupWnd.xml
lea ecx, [ebx + 0x348]
call esi
mov eax, dword [0x5455ec]
cmp dword [0x545600], edi
jae 0x442ee9
mov eax, 0x5455ec
push eax
lea ecx, [ebx + 0x3cc]
call esi
lea esi, [esp + 0x58]
call fcn.00403cf0
mov dword [esp + 0xa0], 0x15
cmp dword [eax + 0x14], edi
jb 0x442f0d
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x78]
call fcn.004067d0
mov byte [esp + 0xa0], 0x17
cmp dword [esp + 0x6c], edi
jb 0x442f32
mov edx, dword [esp + 0x58]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov word [esp + 0x58], ax
push 4
mov eax, 0x51113c
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], 0
call fcn.004065e0
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x88], edi
jae 0x442f6a
lea eax, [esp + 0x74]
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push 0x96c80000
push eax
push 0
mov ecx, ebx
call dword [0x51647c]
mov ecx, ebx
call dword [0x516484]
test byte [0x547f78], 1
jne 0x442fbc
or dword [0x547f78], 1
call fcn.0044b060
push 0x4f1090
call fcn.004b809e
add esp, 4
mov ecx, ebx
call dword [0x5164e4]
push 1
push 1
mov ecx, ebx
mov dword [0x547f8c], eax
mov dword [0x547f90], 0x4c9
call dword [0x5164e8]
call dword [0x5164e0]
mov eax, dword [0x547e58]
test eax, eax
je 0x44301c
cmp dword [eax + 8], 4
mov ebx, eax
jl 0x44301c
push str.MainSetup.cpp
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
mov ecx, str.end_RunSetup
mov esi, 0x63
call fcn.0042d450
push ebx
mov ecx, esi
call fcn.0042b0b0
cmp dword [esp + 0x88], edi
jb 0x443032
mov edx, dword [esp + 0x74]
push edx
call fcn.004b6106
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.004b6111
mov esp, ebp
pop ebp
ret