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

Disassembly:
push 0xffffffffffffffff
push 0x445474
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4571dc]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0041b8a0
push 0x3e8
mov ecx, esi
call fcn.0041c23d
push 0x3ee
mov ecx, esi
mov ebx, eax
call fcn.0041c23d
push 0x3ef
mov ecx, esi
mov edi, eax
call fcn.0041c23d
push 0x44760c
lea ecx, [esp + 0x20]
mov dword [esp + 0x40], eax
call fcn.004018a0
push 0x44760c
lea ecx, [esp + 0x3c]
mov dword [esp + 0x114], 0
call fcn.004018a0
lea ebp, [esi + 0x9c]
mov ecx, ebp
mov byte [esp + 0x110], 1
call fcn.00401280
push eax
lea ecx, [esp + 0x28]
call fcn.004018a0
push 0x44760c
lea ecx, [esp + 0x24]
mov byte [esp + 0x114], 2
call fcn.004018a0
lea ecx, [esp + 0x70]
mov byte [esp + 0x110], 3
call fcn.00416ce0
push 0x44760c
lea ecx, [esp + 0x2c]
mov byte [esp + 0x114], 4
call fcn.004018a0
lea ecx, [esp + 0x70]
mov byte [esp + 0x110], 5
call fcn.004170e0
test eax, eax
jne 0x413f80
push 0x85
call fcn.0041854d
test eax, eax
je 0x413e89
push 0x85
push eax
lea ecx, [esp + 0x30]
call fcn.00401540
mov eax, dword [esp + 0x28]
push 0x40
push str.Installer
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x110], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413ec5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x110], 3
call fcn.00416880
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x110], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413efe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x110], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413f26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x110], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413f4e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov dword [esp + 0x110], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413f79
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x41447b
lea ecx, [esp + 0x24]
push ecx
push 0x447f84
call fcn.00405cb0
add esp, 8
test al, al
je 0x413fb9
lea ecx, [esp + 0x70]
call fcn.004167d0
cmp eax, 1
je 0x413fb9
push 0x3e8
call fcn.0041854d
test eax, eax
je 0x413fd6
push 0x3e8
jmp 0x413fcc
push 0x3f0
call fcn.0041854d
test eax, eax
je 0x413fd6
push 0x3f0
push eax
lea ecx, [esp + 0x24]
call fcn.00401540
mov edx, dword [esp + 0x1c]
push edx
mov ecx, ebx
call fcn.0041c2fb
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
and eax, 0x3ff
cmp eax, 9
jne 0x414013
push 0x7d0
call fcn.0041854d
test eax, eax
je 0x414026
push 0x7d0
push eax
lea ecx, [esi + 0x94]
call fcn.00401540
jmp 0x414026
mov ecx, ebp
call fcn.00416800
push eax
lea ecx, [esi + 0x94]
call fcn.00401810
mov eax, dword [esi + 0x94]
push eax
mov ecx, edi
call fcn.0041c2fb
push 0x44760c
lea ecx, [esp + 0x18]
call fcn.004018a0
push 0
lea edi, [esi + 0x74]
push 0x44760c
mov ecx, edi
mov byte [esp + 0x118], 6
call fcn.00401610
lea eax, [esp + 0x24]
push eax
push 0x447f84
call fcn.00405cb0
add esp, 8
test al, al
je 0x414288
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebp
call fcn.00417f60
lea ebx, [esi + 0x78]
push eax
mov ecx, ebx
mov byte [esp + 0x114], 7
call fcn.00412f90
lea ecx, [esp + 0x40]
mov byte [esp + 0x110], 6
call fcn.00412150
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
mov ebp, dword [ebx]
mov dword [esp + 0x34], eax
mov edi, dword [ebx + 0x14]
mov eax, dword [ebx]
test ebp, ebp
je 0x4140bd
cmp ebp, eax
je 0x4140c2
call fcn.00429084
cmp dword [esp + 0x34], edi
je 0x414257
test ebp, ebp
jne 0x414215
call fcn.00429084
xor eax, eax
mov edx, dword [esp + 0x34]
cmp edx, dword [eax + 0x14]
jne 0x4140e9
call fcn.00429084
mov eax, dword [esp + 0x34]
add eax, 8
push eax
lea ecx, [esp + 0x44]
call fcn.00415090
lea ecx, [esp + 0x40]
mov byte [esp + 0x110], 8
call fcn.00414f90
push eax
lea ecx, [esp + 0x1c]
call fcn.004018a0
lea ecx, [esp + 0x18]
mov byte [esp + 0x110], 9
call fcn.004120e0
mov ecx, eax
call fcn.00411f20
push eax
lea ecx, [esp + 0x1c]
call fcn.00401770
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
je 0x414222
push 0x448828
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.00407c90
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x118], 0xa
call fcn.004024f0
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x110], 9
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41419c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi + 0x74]
mov eax, dword [edx - 0xc]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx - 0xc]
lea ecx, [esi + 0x74]
jge 0x4141b8
lea eax, [esp + 0x18]
push eax
call fcn.00401770
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x110], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4141e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x110], 6
call fcn.00414fb0
test ebp, ebp
jne 0x41421d
call fcn.00429084
xor eax, eax
mov edi, dword [esp + 0x34]
cmp edi, dword [eax + 0x14]
jne 0x41420a
call fcn.00429084
mov ecx, dword [edi]
mov dword [esp + 0x34], ecx
jmp 0x4140b0
mov eax, dword [ebp]
jmp 0x4140db
mov eax, dword [ebp]
jmp 0x4141fc
add eax, 0xfffffff0
mov byte [esp + 0x110], 8
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414246
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x110], 6
call fcn.00414fb0
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x40]
call fcn.0041c2fb
lea ecx, [esp + 0x70]
call fcn.004167d0
cmp eax, 1
je 0x4142a8
push 0x3f5
call fcn.0041854d
test eax, eax
je 0x4142c5
push 0x3f5
jmp 0x4142bb
mov ecx, ebp
call fcn.00416820
mov ecx, dword [esp + 0x3c]
push eax
call fcn.0041c2fb
mov ecx, ebp
call fcn.00416820
push eax
mov ecx, edi
call fcn.00401810
push 0x3f6
call fcn.0041854d
test eax, eax
je 0x4142c5
push 0x3f6
push eax
lea ecx, [esp + 0x1c]
call fcn.00401540
lea edx, [esp + 0x14]
push edx
lea ecx, [esi + 0x9c]
call fcn.004167e0
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00407d70
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x114], 0xb
call fcn.00401770
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x110], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41431d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, esi
call fcn.0041c2fb
mov eax, dword [esi + 0x94]
push eax
mov ecx, esi
call fcn.00413bd0
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
mov ebp, eax
call fcn.00413bd0
mov ebx, eax
mov eax, dword [esi + 0x94]
push eax
mov ecx, esi
call fcn.00412bd0
mov edi, eax
mov eax, dword [esi + 0x74]
push eax
mov ecx, esi
call fcn.00412bd0
cmp edi, eax
jle 0x414368
mov eax, edi
push eax
push ebp
push ebx
mov ecx, esi
call fcn.004138a0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x110], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41439a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x110], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4143c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x110], 3
call fcn.00416880
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x110], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4143fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x110], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414423
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x110], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41444b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov dword [esp + 0x110], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414476
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret