Function at 0x434960
Capabilities:
Check if file exists
Create directory
Delete file
Get file attributes
Inspect load icon resource
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x23c
mov eax, dword [0x5afb3c]
xor eax, esp
mov dword [esp + 0x238], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
call fcn.0042ce10
test eax, eax
jne 0x4349ac
call fcn.0042ceb0
neg eax
sbb eax, eax
neg eax
dec eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x238]
xor ecx, esp
call fcn.00526b2d
mov esp, ebp
pop ebp
ret 0x10
call fcn.00435fb0
call fcn.00433ab0
call fcn.004360e0
test eax, eax
jne 0x4349fd
push 0x59f9ac
push 1
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x238]
xor ecx, esp
call fcn.00526b2d
mov esp, ebp
pop ebp
ret 0x10
push str..net
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
lea eax, [esp + 0x10]
push 0x2c
push 0
push eax
call fcn.00529cc0
add esp, 0xc
mov dword [esp + 0xc], 0x30
push 0x65
push esi
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
call esi
push 0x65
push dword [esp + 0x24]
mov dword [esp + 0x2c], eax
call esi
mov dword [esp + 0x38], eax
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1c4], 0xf
mov dword [esp + 0x1c0], 0
mov byte [esp + 0x1b0], 0
mov dword [esp + 0x1dc], 0xf
mov dword [esp + 0x1d8], 0
mov byte [esp + 0x1c8], 0
mov dword [esp + 0x1f4], 0xf
mov dword [esp + 0x1f0], 0
mov byte [esp + 0x1e0], 0
call fcn.00443db0
test eax, eax
jne 0x434ad1
xor esi, esi
jmp 0x435f1e
lea eax, [esp + 0x1b0]
push eax
call fcn.00435f50
lea ecx, [esp + 0x198]
call fcn.0042bd60
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x1a0]
mov dword [esp + 0xf4], 0xf
push eax
lea ecx, [esp + 0xe4]
mov dword [esp + 0xf4], 0
mov byte [esp + 0xe4], 0
call fcn.00427790
push 1
push 0x59f478
lea ecx, [esp + 0xe0]
call fcn.004283e0
mov esi, eax
lea ecx, [esp + 0x1b0]
lea eax, [esp + 0xc]
push eax
call fcn.00444290
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004284d0
lea ecx, [esp + 0xc]
call fcn.00427300
cmp dword [esp + 0xec], 0x10
lea eax, [esp + 0xd8]
cmovae eax, dword [esp + 0xd8]
push eax
push 0x59f9cc
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x28
mov dword [esp + 0x104], 0xf
lea eax, [esp + 0xd8]
mov dword [esp + 0x100], 0
lea ecx, [esp + 0xf0]
mov byte [esp + 0xf0], 0
push 0xffffffffffffffff
push 0
push eax
call fcn.00427790
push 0xe
push str.updateplugin
lea ecx, [esp + 0xf8]
call fcn.004283e0
cmp dword [esp + 0x104], 0x10
lea eax, [esp + 0xf0]
cmovae eax, dword [esp + 0xf0]
push eax
push 0x59f9e8
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x28
mov dword [esp + 0x14c], 0xf
lea eax, [esp + 0xd8]
mov dword [esp + 0x148], 0
lea ecx, [esp + 0x138]
mov byte [esp + 0x138], 0
push 0xffffffffffffffff
push 0
push eax
call fcn.00427790
push 7
push 0x59fa00
lea ecx, [esp + 0x140]
call fcn.004283e0
cmp dword [esp + 0x14c], 0x10
lea eax, [esp + 0x138]
cmovae eax, dword [esp + 0x138]
push eax
push 0x59fa08
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x10
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x434cc9
mov eax, dword [ecx]
jmp 0x434ccb
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x10c]
push 0
push eax
call fcn.00427790
call fcn.0042c880
add esp, 0x18
test eax, eax
je 0x434fda
sub esp, 0x18
mov dword [esp + 0x70], 0
mov ecx, esp
mov dword [esp + 0x70], 0
xorps xmm0, xmm0
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x68], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
mov dword [esp + 0x6c], 0
jb 0x434d43
mov eax, dword [ecx]
jmp 0x434d45
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x10c]
push 0
push eax
call fcn.00427790
lea ecx, [esp + 0x68]
call fcn.00436b60
mov edi, dword [esp + 0x6c]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x68]
mov ecx, edi
sub ecx, esi
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x434fd1
cmp esi, edi
je 0x434fd1
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
nop word [eax + eax]
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x140]
mov dword [esp + 0xdc], 0xf
push eax
lea ecx, [esp + 0xcc]
mov dword [esp + 0xdc], 0
mov byte [esp + 0xcc], 0
call fcn.00427790
push 1
push 0x59f478
lea ecx, [esp + 0xc8]
call fcn.004283e0
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.004284d0
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x434e20
mov eax, dword [ecx]
jmp 0x434e22
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0xdc]
push 0
push eax
call fcn.00427790
call fcn.0042c910
add esp, 0x18
mov dword [esp + 0x94], 0xf
lea eax, [esp + 0xc0]
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x80], 0
push 0xffffffffffffffff
push 0
push eax
call fcn.00427790
cmp dword [esp + 0x94], 0x10
lea eax, [esp + 0x80]
push 0
cmovae eax, dword [esp + 0x84]
push eax
call ebx
mov eax, dword [esp + 0x94]
cmp eax, 0x10
jb 0x434eb1
inc eax
lea ecx, [esp + 0x80]
push eax
push dword [esp + 0x84]
call fcn.004279e0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xf8]
mov dword [esp + 0xb8], 0xf
push eax
lea ecx, [esp + 0xa8]
mov dword [esp + 0xb8], 0
mov byte [esp + 0xa8], 0
call fcn.00427790
push 1
push 0x59f478
lea ecx, [esp + 0xa4]
call fcn.004283e0
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.004284d0
lea edx, [esp + 0xc0]
lea ecx, [esp + 0x9c]
call fcn.00437a20
test al, al
je 0x434f66
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x434f48
mov eax, dword [ecx]
jmp 0x434f4a
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0xb8]
push 0
push eax
call fcn.00427790
call fcn.0042c910
add esp, 0x18
mov eax, dword [esp + 0xb0]
cmp eax, 0x10
jb 0x434f87
inc eax
lea ecx, [esp + 0x9c]
push eax
push dword [esp + 0xa0]
call fcn.004279e0
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xb0], 0xf
mov dword [esp + 0xac], 0
mov byte [esp + 0x9c], 0
cmp eax, 0x10
jb 0x434fc6
inc eax
lea ecx, [esp + 0xc0]
push eax
push dword [esp + 0xc4]
call fcn.004279e0
add esi, 0x18
cmp esi, edi
jne 0x434da0
lea ecx, [esp + 0x50]
call fcn.004271c0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xe0]
mov dword [esp + 0x13c], 0xf
push eax
lea ecx, [esp + 0x12c]
mov dword [esp + 0x13c], 0
mov byte [esp + 0x12c], 0
call fcn.00427790
push 1
push 0x59f478
lea ecx, [esp + 0x128]
call fcn.004283e0
mov esi, eax
lea ecx, [esp + 0x1b0]
lea eax, [esp + 0x108]
push eax
call fcn.00444210
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004284d0
push 4
push 0x59fa20
mov ecx, eax
call fcn.004283e0
mov eax, dword [esp + 0x11c]
cmp eax, 0x10
jb 0x435074
inc eax
lea ecx, [esp + 0x108]
push eax
push dword [esp + 0x10c]
call fcn.004279e0
cmp dword [esp + 0x134], 0x10
lea eax, [esp + 0x120]
cmovae eax, dword [esp + 0x120]
push eax
push 0x59fa28
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x10
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4350d8
mov eax, dword [ecx]
jmp 0x4350da
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x13c]
push 0
push eax
call fcn.00427790
call fcn.0042c7a0
add esp, 0x18
test eax, eax
je 0x435e98
mov ecx, str.BCUpgrade.exe
call fcn.0042be10
mov esi, eax
push esi
push str.BCUpgrade.exe
push str._s_ProcID:_d
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x2c
cmp esi, 0xffffffff
je 0x435164
mov ecx, esi
call fcn.0042bf90
push 0x59fa54
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
mov ecx, str.eahost.exe
call fcn.0042be10
mov esi, eax
push esi
push str.eahost.exe
push str._s_ProcID:_d
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x2c
cmp esi, 0xffffffff
je 0x4351ca
mov ecx, esi
call fcn.0042bf90
push 0x59fa70
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
mov ecx, str.dghost.exe
call fcn.0042be10
mov esi, eax
push esi
push str.dghost.exe
push str._s_ProcID:_d
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x2c
cmp esi, 0xffffffff
je 0x435230
mov ecx, esi
call fcn.0042bf90
push 0x59fa88
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x59fa94
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
mov dword [esp + 0x94], 0xf
lea eax, [esp + 0x198]
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x80], 0
push 0xffffffffffffffff
push 0
push eax
call fcn.00427790
push 0xd
push str._rollback.txt
lea ecx, [esp + 0x88]
call fcn.004283e0
push 0x59f2d0
lea ecx, [esp + 0x184]
call fcn.00427440
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4352e4
mov eax, dword [ecx]
jmp 0x4352e6
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x9c]
push 0
push eax
call fcn.00427790
call fcn.0042c7a0
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
add esp, 0x18
test eax, eax
je 0x435530
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x43533b
mov eax, dword [ecx]
jmp 0x43533d
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x9c]
push 0
push eax
call fcn.00427790
lea ecx, [esp + 0x80]
call fcn.00437150
add esp, 0x18
lea ecx, [esp + 0x180]
push eax
call fcn.00427340
lea ecx, [esp + 0x68]
call fcn.00427300
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x1a0]
mov dword [esp + 0x6c], 0xf
push eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
call fcn.00427790
push 0x59f478
lea ecx, [esp + 0x54]
call fcn.00429130
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x188]
push ecx
mov ecx, eax
call fcn.004284d0
cmp dword [esp + 0x194], 0x10
lea eax, [esp + 0x68]
lea edi, [esp + 0x180]
cmovae edi, dword [esp + 0x180]
lea ecx, [esp + 0x1b0]
push eax
call fcn.00444250
cmp dword [eax + 0x14], 0x10
jb 0x4353f1
mov eax, dword [eax]
push edi
push eax
call fcn.00533373
add esp, 8
lea ecx, [esp + 0x68]
test eax, eax
sete bl
call fcn.00427300
test bl, bl
je 0x435433
push str.leave_rollback
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
jmp 0x43546b
push str.rollback
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0xc
lea eax, [esp + 0x68]
mov ecx, esp
push eax
call fcn.004274a0
call fcn.0042c410
add esp, 0x18
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x435496
mov eax, dword [ecx]
jmp 0x435498
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x6c]
push 0
push eax
call fcn.00427790
call fcn.0042c880
add esp, 0x18
test eax, eax
jne 0x4354f2
cmp dword [esp + 0x94], 0x10
lea eax, [esp + 0x80]
cmovae eax, dword [esp + 0x80]
push eax
call esi
test eax, eax
jne 0x435525
cmp dword [esp + 0x94], 0x10
lea eax, [esp + 0x80]
cmovae eax, dword [esp + 0x80]
push eax
push 0x59fad0
jmp 0x435506
cmp dword [esp + 0x64], 0x10
lea eax, [esp + 0x50]
cmovae eax, dword [esp + 0x50]
push eax
push 0x59fae8
push 1
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x28
lea ecx, [esp + 0x50]
call fcn.00427300
jmp 0x43556c
cmp dword [esp + 0x94], 0x10
lea eax, [esp + 0x80]
cmovae eax, dword [esp + 0x80]
push eax
push 0x59fafc
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x28
push 0x59fb0c
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
mov dword [esp + 0xd4], 0xf
lea eax, [esp + 0x198]
mov dword [esp + 0xd0], 0
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc0], 0
push 0xffffffffffffffff
push 0
push eax
call fcn.00427790
push 0xe
push str._addupdate.ini
lea ecx, [esp + 0xc8]
call fcn.004283e0
sub esp, 0x18
mov dword [esp + 0x194], 0xf
mov ecx, esp
mov dword [esp + 0x190], 0
mov byte [esp + 0x180], 0
mov dword [esp + 0x134], 0xf
push str.add_version
mov dword [esp + 0x134], 0
mov byte [esp + 0x124], 0
call fcn.00427440
sub esp, 0x18
mov ecx, esp
push str.add_update
call fcn.00427440
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x43565e
mov eax, dword [ecx]
jmp 0x435660
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x10c]
push 0
push eax
call fcn.00427790
lea eax, [esp + 0x1b0]
push eax
call fcn.00444750
sub esp, 0x18
mov ecx, esp
push str.add_effect
call fcn.00427440
sub esp, 0x18
mov ecx, esp
push str.add_update
call fcn.00427440
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4356ca
mov eax, dword [ecx]
jmp 0x4356cc
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x10c]
push 0
push eax
call fcn.00427790
lea eax, [esp + 0x150]
push eax
call fcn.00444750
push 0x59fb60
lea ecx, [esp + 0x10c]
call fcn.00427220
test eax, eax
jne 0x4357bf
push 0xffffffffffffffff
push eax
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x70], al
lea eax, [esp + 0x1a0]
push eax
mov dword [esp + 0x88], 0xf
call fcn.00427790
push 0x59f478
lea ecx, [esp + 0x6c]
call fcn.00429130
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x170]
push ecx
mov ecx, eax
call fcn.004284d0
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x43577c
mov eax, dword [ecx]
jmp 0x43577e
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x84]
push 0
push eax
call fcn.00427790
call fcn.0042c410
add esp, 0x18
lea eax, [esp + 0xc0]
cmp dword [esp + 0xd4], 0x10
cmovae eax, dword [esp + 0xc0]
push eax
call esi
lea ecx, [esp + 0x68]
call fcn.00427300
jmp 0x435826
push 0x59fb64
lea ecx, [esp + 0x10c]
call fcn.00427220
test eax, eax
jne 0x435826
sub esp, 0x18
lea eax, [esp + 0x180]
mov ecx, esp
push eax
call fcn.004274a0
mov ecx, 0x5b3ee0
call fcn.004442d0
sub esp, 0x18
lea eax, [esp + 0x180]
mov ecx, esp
push eax
call fcn.004274a0
mov ecx, 0x5b3ee0
call fcn.00444510
cmp dword [esp + 0xd4], 0x10
lea eax, [esp + 0xc0]
cmovae eax, dword [esp + 0xc0]
push eax
call esi
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x1a0]
mov dword [esp + 0x16c], 0xf
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x16c], 0
mov byte [esp + 0x15c], 0
call fcn.00427790
push 0xb
push str._addnewfile
lea ecx, [esp + 0x158]
call fcn.004283e0
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x43589a
mov eax, dword [ecx]
jmp 0x43589c
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x16c]
push 0
push eax
call fcn.00427790
call fcn.0042c880
add esp, 0x18
test eax, eax
je 0x435905
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4358e7
mov eax, dword [ecx]
jmp 0x4358e9
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x16c]
push 0
push eax
call fcn.00427790
call fcn.0042c410
add esp, 0x18
push 0x59fb74
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0xc
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x435951
mov eax, dword [ecx]
jmp 0x435953
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x19c]
push 0
push eax
call fcn.00427790
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x435992
mov eax, dword [ecx]
jmp 0x435994
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [esp + 0x1cc]
push 0
push eax
call fcn.00427790
lea ecx, [esp + 0x1e0]
call fcn.004362d0
add esp, 0x30
call fcn.0042a290
mov ecx, eax
call fcn.0042a2f0
sub esp, 0x18
mov dword [esp + 0xd4], 0
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
movq qword [esp + 0xcc], xmm0
lea ecx, [esp + 0x1c8]
movq qword [esp + 0x68], xmm0
xor esi, esi
xor edi, edi
mov dword [esp + 0xcc], 0
push esp
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
call fcn.00444250
lea ecx, [esp + 0xcc]
call fcn.00437260
mov ecx, dword [esp + 0xd0]
mov eax, 0x2aaaaaab
sub ecx, dword [esp + 0xcc]
add esp, 0x18
imul ecx
sar edx, 3
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp ebx, 2
jbe 0x435b57
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
push 0x437840
push ebx
call fcn.004381e0
add ebx, 0xfffffffe
add esp, 8
test ebx, ebx
jle 0x435b57
mov esi, dword [esp + 0xb4]
add esi, 0x18
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x435abc
mov eax, dword [ecx]
jmp 0x435abe
mov eax, ecx
push 0xffffffffffffffff
push 0
push esi
mov byte [eax], 0
call fcn.00427790
call fcn.0042c410
add esp, 0x18
mov dword [esp + 0x7c], 0xf
lea ecx, [esp + 0x68]
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
push 0xffffffffffffffff
push 0
push esi
call fcn.00427790
cmp dword [esp + 0x7c], 0x10
lea eax, [esp + 0x68]
cmovae eax, dword [esp + 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x435b1b
test al, 0x10
je 0x435b1b
mov edi, 1
jmp 0x435b1d
xor edi, edi
mov eax, dword [esp + 0x7c]
cmp eax, 0x10
jb 0x435b35
inc eax
lea ecx, [esp + 0x68]
push eax
push dword [esp + 0x6c]
call fcn.004279e0
test edi, edi
je 0x435b43
push esi
lea ecx, [esp + 0x54]
call fcn.004270f0
add esi, 0x30
sub ebx, 1
jne 0x435a91
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x435b81
lea eax, [esp + 0x50]
push eax
push ecx
call fcn.0042a290
add esp, 4
mov ecx, eax
call fcn.0042ad00
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xc8
call edi
push 0x59fb90
push 0
sub esp, 0x18
mov ecx, esp
push 3
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push 0x59f500
mov byte [ecx], 0
call fcn.004276d0
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
push 3
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
lea ecx, [esp + 0xc]
call fcn.0042bd60
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0xb8], 0xf
push eax
lea ecx, [esp + 0xa8]
mov dword [esp + 0xb8], 0
mov byte [esp + 0xa8], 0
call fcn.00427790
push 1
push 0x59f478
lea ecx, [esp + 0xa4]
call fcn.004283e0
mov esi, eax
lea ecx, [esp + 0x1b0]
lea eax, [esp + 0x68]
push eax
call fcn.00444290
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004284d0
mov eax, dword [esp + 0x7c]
cmp eax, 0x10
jb 0x435c53
inc eax
lea ecx, [esp + 0x68]
push eax
push dword [esp + 0x6c]
call fcn.004279e0
push 1
push 0x59f478
lea ecx, [esp + 0xa4]
call fcn.004283e0
mov esi, eax
lea ecx, [esp + 0x1b0]
lea eax, [esp + 0x68]
push eax
call fcn.00444210
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004284d0
push 4
push 0x59fa20
mov ecx, eax
call fcn.004283e0
mov eax, dword [esp + 0x7c]
cmp eax, 0x10
jb 0x435cab
inc eax
lea ecx, [esp + 0x68]
push eax
push dword [esp + 0x6c]
call fcn.004279e0
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x1fc]
push eax
lea edx, [esp + 0xe0]
lea ecx, [esp + 0xa4]
call fcn.0042d070
mov esi, eax
add esp, 8
test esi, esi
je 0x435dcc
push esi
push str.StartProgram_Invoice_Assistant_Failed__d
push 1
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x28
lea ecx, [esp + 0x9c]
call fcn.00427560
cmp dword [eax + 0x14], 0x10
jb 0x435d41
lea ecx, [esp + 0x9c]
call fcn.00427a50
lea ecx, [esp + 0x9c]
mov eax, dword [eax]
inc eax
push eax
call fcn.00427560
lea ecx, [esp + 0xa0]
mov eax, dword [eax]
push eax
call fcn.00427560
mov ecx, eax
call fcn.004279e0
lea ecx, [esp + 0x9c]
call fcn.00427a50
push 0
lea ecx, [esp + 0xa0]
mov dword [eax], 0xf
call fcn.00427ae0
lea ecx, [esp + 0xc]
call fcn.00427300
lea ecx, [esp + 0x50]
call fcn.004271c0
lea ecx, [esp + 0xb4]
call fcn.00437f60
lea ecx, [esp + 0x150]
call fcn.00427300
lea ecx, [esp + 0x108]
call fcn.00427300
lea ecx, [esp + 0x168]
call fcn.00427300
lea ecx, [esp + 0xc0]
call fcn.00427300
lea ecx, [esp + 0x180]
call fcn.00427300
lea ecx, [esp + 0x80]
call fcn.00427300
jmp 0x435ee2
push 0
push str.StartProgram_Ret__d
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x28
push 0x3e8
push dword [esp + 0x40]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x435e1d
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x40]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
call fcn.00433e60
push 0x1f4
call edi
lea ecx, [esp + 0x9c]
call fcn.00427300
lea ecx, [esp + 0xc]
call fcn.00427300
lea ecx, [esp + 0x50]
call fcn.004271c0
lea ecx, [esp + 0xb4]
call fcn.00437f60
lea ecx, [esp + 0x150]
call fcn.00427300
lea ecx, [esp + 0x108]
call fcn.00427300
lea ecx, [esp + 0x168]
call fcn.00427300
lea ecx, [esp + 0xc0]
call fcn.00427300
lea ecx, [esp + 0x180]
call fcn.00427300
lea ecx, [esp + 0x80]
call fcn.00427300
jmp 0x435ebc
push 0x59fbe8
push 1
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
push 0x59fbf8
push 0
sub esp, 0x18
mov ecx, esp
push 0x59f500
call fcn.00427440
call fcn.0042d450
push eax
call fcn.0042d4a0
add esp, 0x24
xor esi, esi
lea ecx, [esp + 0x120]
call fcn.00427300
lea ecx, [esp + 0x138]
call fcn.00427300
lea ecx, [esp + 0xf0]
call fcn.00427300
lea ecx, [esp + 0xd8]
call fcn.00427300
lea ecx, [esp + 0x198]
call fcn.00427300
lea ecx, [esp + 0x1b0]
call fcn.004348c0
mov ecx, dword [esp + 0x244]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00526b2d
mov esp, ebp
pop ebp
ret 0x10