Function at 0x42daac
Capabilities:
Get common file path
Set current directory

Disassembly:
mov eax, 0x4e5181
call fcn.004afe60
sub esp, 0x79c
push ebx
push esi
mov esi, dword [ebp + 0x10]
and dword [ebp + 0x10], 1
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x21c]
and esi, 0xf0
call fcn.00457400
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x30], 0xffffffff
xor ebx, ebx
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x3c], eax
call fcn.0041d38d
lea ecx, [ebp - 0x44]
mov byte [ebp - 0x17], 0xff
mov byte [ebp - 0x15], 0xff
mov byte [ebp - 0x20], bl
mov byte [ebp - 0xd], bl
mov byte [ebp - 0xe], bl
mov byte [ebp - 0x1f], bl
mov byte [ebp - 0x16], bl
mov byte [ebp - 0x1e], bl
mov byte [ebp - 0x36], bl
mov dword [ebp - 0x34], 0xffff0000
call fcn.00446250
push 1
lea eax, [ebp + 0xc]
push eax
push 0x4f1924
mov byte [ebp - 4], 1
mov word [ebp - 0x2ac], bx
call fcn.00448570
add esp, 0xc
test al, al
jne 0x42db46
cmp esi, ebx
mov byte [ebp - 0x18], al
je 0x42db4c
mov byte [ebp - 0x18], 1
cmp esi, ebx
setne byte [ebp - 0x1d]
cmp byte [ebp - 0x18], 0
je 0x42db5e
mov byte [ebp - 0x17], 0
mov byte [ebp - 0x15], 1
mov ecx, dword [ebp + 0xc]
mov ax, word [ecx]
cmp ax, 0x2d
mov dl, 0x2a
jne 0x42db6e
mov dl, al
movsx edi, dl
movzx eax, ax
cmp eax, edi
push 3
pop esi
jne 0x42de4e
movzx eax, word [ecx + 2]
cmp eax, edi
jne 0x42de30
push 1
lea eax, [ebp + 0xc]
push eax
add ecx, 4
push 0x4f2538
mov dword [ebp + 0xc], ecx
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dbb4
mov dword [ebp + 0x10], 1
jmp 0x42de22
push 2
lea eax, [ebp + 0xc]
push eax
push 0x4f2534
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dbd4
mov byte [ebp - 0x17], 1
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f2530
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dbf3
mov byte [ebp - 0x17], 0
jmp 0x42de22
push 4
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dc13
mov byte [ebp - 0x15], 2
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f2524
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dc32
mov byte [ebp - 0x15], 0
jmp 0x42de22
push 2
lea eax, [ebp + 0xc]
push eax
push 0x4f2520
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dc52
mov byte [ebp - 0xe], 1
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f251c
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dc71
mov byte [ebp - 0xe], 0x23
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f2518
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dc90
mov byte [ebp - 0xe], 0x2a
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f2514
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dcaf
mov byte [ebp - 0xe], 0x24
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f2510
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dcce
mov byte [ebp - 0xe], 0x40
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f250c
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dced
mov byte [ebp - 0xe], 0x3d
jmp 0x42de22
push 2
lea eax, [ebp + 0xc]
push eax
push 0x4f2508
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dd10
mov dword [ebp - 0x34], 1
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f2504
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dd2e
mov dword [ebp - 0x34], ebx
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f2500
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dd4d
mov byte [ebp - 0x16], 1
jmp 0x42de22
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f24fc
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dd6c
mov byte [ebp - 0x1e], 1
jmp 0x42de22
push 1
lea eax, [ebp + 0xc]
push eax
push 0x4f24f8
call fcn.00448570
add esp, 0xc
test al, al
je 0x42dd8c
mov byte [ebp - 0x36], 1
jmp 0x42de22
push 4
push dword [ebp + 0xc]
push str.ret:
call fcn.00440450
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x42ddfe
add dword [ebp + 0xc], 8
mov esi, dword [ebp + 0xc]
push eax
call fcn.0041676d
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x44]
call fcn.004463d0
lea ecx, [ebp + 0xc]
call fcn.0041d38d
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x44]
push eax
call fcn.004152c8
push dword [ebp - 0x44]
mov byte [ebp - 0xd], 1
push 0x4ec058
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
push 3
pop esi
jne 0x42de22
mov eax, dword [ebp - 0x44]
mov byte [ebp - 0xd], 3
mov word [eax], bx
jmp 0x42de22
push 1
push eax
push 0x4f24ec
call fcn.00448570
add esp, 0xc
test al, al
je 0x42de18
mov byte [ebp - 0x1f], 1
jmp 0x42de22
lea eax, [ebp + 0xc]
push eax
call fcn.00416791
pop ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
cmp eax, edi
je 0x42db7f
cmp byte [ebp - 0x16], 0
je 0x42de4e
push 0xffffffffffffff9c
push 0x4ebd38
push ebx
push ecx
mov ecx, dword [ebp + 8]
call fcn.00469190
mov esi, eax
jmp 0x42f801
push 0x6e
pop ecx
xor eax, eax
push 0x6a
lea edi, [ebp - 0x208]
mov dword [ebp - 0x20c], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x69
lea edi, [ebp - 0x454]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x5fc]
rep stosd dword es:[edi], eax
push 0x69
pop ecx
lea edi, [ebp - 0x7a4]
mov dword [ebp - 0x7a8], ebx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x50], ebx
call fcn.00446550
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
lea eax, [ebp - 0x458]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
push 0x2c
push eax
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x40], 1
call esi
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x42deda
mov edi, eax
sub edi, dword [ebp - 0x3c]
sar edi, 1
add dword [ebp - 0x1c], 2
jmp 0x42dedd
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x5fc], eax
je 0x42defc
cmp word [eax], 0x2a
jne 0x42defc
mov byte [ebp - 0x35], 1
jmp 0x42df10
cmp byte [ebp - 0x18], 0
mov byte [ebp - 0x35], 0
jne 0x42df10
cmp byte [ebp - 0x1d], 0
mov byte [ebp - 0x16], 1
je 0x42df14
mov byte [ebp - 0x16], 0
cmp byte [ebp - 0x1e], 0
jne 0x42df68
cmp byte [ebp - 0x16], 0
je 0x42df68
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x28], eax
jne 0x42df30
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 1
push 0x2c
push dword [ebp - 0x28]
call esi
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x42df68
mov word [eax], bx
add dword [ebp - 0x28], 2
cmp dword [ebp - 0x40], 2
jl 0x42df5f
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov dword [ebp + ecx*4 - 0x458], eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x6a
jl 0x42df37
mov dword [ebp - 0x228], ebx
cmp dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x2c], ebx
je 0x42df90
push 0x2c
push dword [ebp - 0x1c]
call esi
cmp dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], eax
je 0x42df90
mov eax, dword [ebp - 0x1c]
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
cmp word [eax], bx
jne 0x42dfa2
mov esi, 0x80070057
jmp 0x42f7e3
cmp dword [ebp - 0x2c], ebx
je 0x42dfb1
mov eax, dword [ebp - 0x2c]
mov word [eax], bx
add dword [ebp - 0x2c], 2
mov al, byte [ebp - 0xd]
and al, 2
mov byte [ebp - 0x45], al
je 0x42dfca
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x42dfca
cmp word [ecx], bx
jne 0x42dfca
mov dword [ebp - 0x1c], ebx
test al, al
je 0x42dff1
cmp dword [ebp - 0x2c], ebx
je 0x42dff1
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0043b730
mov eax, dword [ebp - 0x2c]
cmp word [eax], bx
jne 0x42dff1
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 0xd], 0
jne 0x42e142
cmp dword [ebp - 0x1c], ebx
jne 0x42e00f
mov dword [ebp - 0x1c], 0x4f24c6
jmp 0x42e035
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x4f24c6
call esi
test eax, eax
je 0x42e035
push dword [ebp - 0x1c]
push 0x4f249a
call esi
test eax, eax
jne 0x42e142
cmp dword [ebp - 0x34], ebx
mov byte [ebp - 0xd], 0xff
jge 0x42e045
mov dword [ebp - 0x34], 0x31
cmp byte [ebp - 0x34], 0
je 0x42e142
lea ecx, [ebp + 0x10]
call fcn.00446250
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.00457470
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 5
call fcn.00457540
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.0043f290
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.004462b0
mov eax, dword [ebp + 0x10]
push 0x208
add eax, 0x10
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
push str.____nowin___nfb___hide_PECMDpecmd_cmd_CALL__
lea ecx, [ebp + 0x14]
call fcn.00457470
push dword [eax]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 6
call fcn.004462e0
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.0043f290
cmp edi, ebx
jl 0x42e0dd
mov eax, dword [ebp - 0x21c]
mov word [eax + edi*2], bx
push dword [ebp - 0x21c]
lea ecx, [ebp + 0x10]
call fcn.004462e0
push 0xffffffffffffffff
push 0x4f2454
lea ecx, [ebp + 0x14]
call fcn.00457470
push dword [eax]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 7
call fcn.004462e0
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.0043f290
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x10]
call fcn.004462e0
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.004195a0
mov esi, eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 3
call fcn.0043f290
jmp 0x42f7e3
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x42f7d0
cmp word [eax], bx
je 0x42f7d0
cmp byte [ebp - 0x1e], 0
jne 0x42e1bb
cmp byte [ebp - 0x16], 0
je 0x42e1bb
cmp dword [ebp + 0x14], ebx
je 0x42e1bb
lea eax, [ebp - 0x600]
mov dword [ebp - 0x24], eax
mov dword [ebp + 0x14], ebx
push 2
pop esi
cmp dword [ebp - 0x40], esi
mov byte [ebp - 4], 8
jle 0x42e1af
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x458]
call fcn.00453300
mov eax, dword [ebp + 0x14]
mov dword [ebp + esi*4 - 0x600], eax
mov dword [ebp + esi*4 - 0x7a8], eax
inc esi
cmp esi, dword [ebp - 0x40]
mov dword [ebp + 0x14], ebx
jl 0x42e17f
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 3
call fcn.0043f290
cmp byte [ebp - 0x1e], 0
push 2
pop eax
jne 0x42e2e3
cmp byte [ebp - 0x16], 0
je 0x42e2e3
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 4], ebx
je 0x42e2e3
cmp byte [ebp - 0x45], 0
je 0x42e1f1
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [ebp - 0x28], ecx
je 0x42e1f1
push 3
pop eax
mov ecx, dword [ebp - 0x24]
shl eax, 2
lea edi, [eax + ecx]
lea eax, [ebp + eax - 0x45c]
mov dword [ebp - 0x24], eax
mov eax, dword [edi]
add dword [ebp - 0x24], 4
add edi, 4
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x42e2e3
mov esi, dword [ebp - 0x50]
mov cx, word [eax]
lea esi, [ebp + esi*4 - 0x20c]
xor dl, dl
cmp byte [ebp - 0xe], 0x23
mov dword [esi], eax
je 0x42e41f
cmp byte [ebp - 0xe], 0x2a
je 0x42e3b5
cmp byte [ebp - 0xe], 0x24
je 0x42e2cc
cmp byte [ebp - 0xe], 0x40
je 0x42e279
cmp byte [ebp - 0xe], 0x3d
je 0x42e2c1
cmp byte [ebp - 0xe], dl
je 0x42e415
inc eax
inc eax
movzx ecx, cx
inc dl
cmp ecx, 0x2a
mov dword [ebp - 0x28], eax
je 0x42e3b5
cmp ecx, 0x3d
je 0x42e2c1
cmp ecx, 0x40
jne 0x42e2cc
xor ebx, ebx
cmp eax, ebx
je 0x42e450
push 4
call fcn.004c86a5
pop ecx
mov dword [ebp - 0x3c], eax
cmp eax, ebx
mov byte [ebp - 4], 0xa
je 0x42e2a2
push dword [ebp - 0x28]
mov ecx, eax
call fcn.0041d2c3
jmp 0x42e2a4
xor eax, eax
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.0041d3c3
mov eax, dword [ebp - 0x28]
jmp 0x42e450
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
movsx eax, dl
lea eax, [ecx + eax*2]
mov dword [esi], eax
xor ebx, ebx
inc dword [ebp - 0x50]
cmp byte [ebp - 0x36], 0
jne 0x42e2e3
cmp dword [ebp - 0x50], 0x64
jbe 0x42e204
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DllRegisterServer
push dword [ebp - 0x1c]
call esi
test eax, eax
jne 0x42e312
cmp dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], 0x4f24c6
mov byte [ebp - 0xd], 0xff
jge 0x42e30e
mov dword [ebp - 0x34], 0x31
mov byte [ebp - 0x17], 1
push str._DllUnregisterServer
push dword [ebp - 0x1c]
call esi
test eax, eax
jne 0x42e33b
cmp dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], 0x4f249a
mov byte [ebp - 0xd], 0xff
jge 0x42e337
mov dword [ebp - 0x34], 0x71
mov byte [ebp - 0x17], 1
push 0x20a
lea ecx, [ebp - 0x4c]
call fcn.00446280
mov eax, dword [ebp + 0xc]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x220], esi
cmp word [eax], 0x23
mov byte [ebp - 4], 0xb
mov dword [ebp + 0x14], ebx
jne 0x42e46b
cmp word [eax + 2], si
jne 0x42e46b
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00449a60
mov ebx, dword [ebp - 0x224]
mov eax, ebx
or eax, dword [ebp - 0x220]
pop ecx
pop ecx
jne 0x42e457
mov al, byte [ebp - 0x1d]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 0x14], eax
jmp 0x42f786
cmp word [eax], 0x2a
jne 0x42e3c0
inc eax
inc eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x14], eax
call fcn.00446250
mov ecx, dword [ebp + 8]
xor ebx, ebx
push ebx
push 0x2c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x14]
push eax
mov byte [ebp - 4], 9
call fcn.0043b730
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x30]
mov dword [ebp + 0x14], ebx
call fcn.0041e533
cmp eax, ebx
je 0x42e3ff
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x30]
mov dword [esi], eax
mov byte [ebp - 4], 3
call fcn.0043f290
jmp 0x42e2d0
cmp cx, 0x23
jne 0x42e2ce
cmp cx, 0x23
jne 0x42e42a
inc eax
inc eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x214]
push eax
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], ebx
call fcn.00449a60
mov eax, dword [ebp - 0x214]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x42e2d0
cmp byte [ebp - 0x15], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], ebx
mov byte [ebp - 0xd], 1
jge 0x42e46b
mov byte [ebp - 0x15], 1
cmp eax, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x3c], esi
je 0x42e48c
cmp word [eax], 0x22
jne 0x42e482
mov dword [ebp - 0x3c], 1
push eax
call fcn.0042063d
pop ecx
mov dword [ebp + 0xc], eax
mov cx, word [eax]
cmp cx, 0x2a
jne 0x42e49b
mov byte [ebp - 0x1f], 1
xor esi, esi
cmp cx, si
mov edi, eax
je 0x42e4ae
cmp cx, 0x2e
jne 0x42e4b0
cmp word [eax + 2], si
jne 0x42e4b0
xor edi, edi
cmp byte [ebp - 0x15], 0
jg 0x42e4c7
push dword [ebp - 0x4c]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp + 0xc]
cmp byte [ebp - 0x35], 0
je 0x42e501
cmp byte [ebp - 0x1f], 0
jne 0x42e501
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp eax, esi
jne 0x42e4f9
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
jne 0x42e4f9
cmp byte [ebp - 0x1d], 0
jne 0x42e4f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp - 0x4c]
jmp 0x42e134
cmp byte [ebp - 0x17], 0
jle 0x42e538
push 0x5c
push esi
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, esi
je 0x42e538
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x30]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.00457450
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x30]
call fcn.0043f290
cmp ebx, esi
jne 0x42e729
cmp byte [ebp - 0x1f], 0
jne 0x42e579
mov esi, 0x5194ec
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 0xd], 0
jne 0x42e572
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp - 0x24], eax
jne 0x42e56a
mov byte [ebp - 0xd], 1
test edi, edi
jne 0x42e572
mov byte [ebp - 0xd], 2
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
cmp edi, ebx
je 0x42e6ed
cmp byte [ebp - 0x1f], bl
je 0x42e6da
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], ebx
cmp dword [ebp - 0x3c], ebx
mov byte [ebp - 4], 0xc
mov esi, edi
jne 0x42e5c8
cmp word [edi], 0x23
jne 0x42e5c8
xor eax, eax
mov ax, word [edi + 2]
push eax
call fcn.00422795
add esp, 4
test al, al
jne 0x42e5d2
cmp word [edi], 0x2a
jne 0x42e63d
inc edi
inc edi
mov esi, edi
cmp word [edi], bx
mov eax, dword [0x51907c]
mov dword [ebp - 0x30], ebx
je 0x42e5ec
cmp word [esi], 0x23
je 0x42e5ec
inc esi
inc esi
cmp word [esi], bx
jne 0x42e5df
mov bx, word [esi]
cmp bx, 0x23
jne 0x42e64c
and word [esi], 0
cmp word [edi], 0
je 0x42e60d
push 2
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x30], eax
test eax, eax
mov word [esi], bx
je 0x42e62c
push 0
lea ecx, [ebp - 0x218]
push ecx
push str.EXEDATA
push esi
push eax
call fcn.00422b90
add esp, 0x14
cmp dword [ebp - 0x30], 0
je 0x42e64c
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42e64c
lea eax, [ebp - 0x218]
push eax
push edi
call fcn.004228d7
pop ecx
pop ecx
mov edi, dword [ebp - 0x218]
test edi, edi
mov ebx, dword [ebp - 0x214]
jne 0x42e674
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x14], 0x80004005
mov byte [ebp - 4], 0xb
call fcn.0043f290
jmp 0x42e6f2
push 0x18
call fcn.004c86a5
test eax, eax
pop ecx
je 0x42e68b
mov ecx, eax
call fcn.0041def4
mov esi, eax
jmp 0x42e68d
xor esi, esi
push ebx
push edi
mov ecx, esi
call fcn.00422955
test eax, eax
je 0x42e6bf
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
call fcn.0041d2c3
push dword [eax]
mov ecx, esi
call fcn.0041df30
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x14], eax
call fcn.0043f290
cmp dword [ebp + 0x14], 0
jne 0x42e6c6
mov dword [ebp - 0x14], 0x80004005
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0xb
call fcn.0043f290
mov ebx, dword [ebp + 0x14]
jmp 0x42e729
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x24], eax
jne 0x42e6fd
call esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x24], ebx
jne 0x42e6fd
cmp byte [ebp - 0x18], 0
jne 0x42e744
jmp 0x42f72c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
call fcn.0041d2c3
push dword [eax]
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x14], ebx
call fcn.0043f290
test ebx, ebx
jne 0x42e729
call esi
mov dword [ebp - 0x14], eax
cmp byte [ebp - 0x18], 0
je 0x42e7a2
cmp byte [ebp - 0xd], 0
jg 0x42e744
cmp dword [ebp - 0x24], 0
je 0x42e744
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x1d], 0
je 0x42e75e
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.0043f290
mov esi, dword [ebp + 0x14]
jmp 0x42f7e3
cmp dword [ebp + 0x14], 0
je 0x42e77c
push dword [ebp + 0x14]
lea eax, [ebp - 0x2ac]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x2ac]
push eax
push dword [ebp - 0x44]
call fcn.00444550
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.0043f290
mov esi, dword [ebp - 0x14]
jmp 0x42f7e3
xor esi, esi
cmp ebx, esi
mov byte [ebp + 0x17], 0
je case.default.0x42f174
test byte [ebp - 0x34], 7
je 0x42e808
call fcn.00443b90
cmp dword [ebp - 0x34], esi
je 0x42e808
cmp dword [0x519450], esi
je 0x42e808
cmp dword [0x519454], esi
je 0x42e808
mov esi, 0x5194ec
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 8]
mov al, byte [edi + 0x10]
test al, 2
jne 0x42e801
test al, 1
jne 0x42e7ee
mov byte [ebp + 0x17], 1
or byte [ebp + 0x17], 2
or al, 3
push 0
mov byte [edi + 0x10], al
call dword [0x519450]
jmp 0x42e808
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x1e], 0
je 0x42e8aa
and dword [ebp + 0x10], 0
cmp byte [ebp - 0xe], 0x40
mov byte [ebp - 4], 0xd
mov byte [ebp - 0x20], 1
jne 0x42e83f
cmp dword [ebp - 0x2c], 0
je 0x42e83f
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x2c]
lea ecx, [ebp + 0x10]
call fcn.004461b0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x1c], 0
mov esi, dword [0x51907c]
push 5
pop edi
je 0x42e882
push 0x12
push dword [ebp - 0x1c]
push str.InstallHinfSection
call fcn.00440450
add esp, 0xc
test al, al
je 0x42e882
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x24], 0
je 0x42e87e
mov word [eax + 0x24], 1
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x26], 0
jne 0x42e882
xor edi, edi
xor esi, esi
mov eax, dword [ebp + 8]
push edi
push dword [ebp - 0x2c]
push esi
push dword [eax + 0x2c]
call fcn.0043f710
pop ecx
push eax
call ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xb
call fcn.0043f290
jmp case.default.0x42f174
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x50]
jne 0x42f15f
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x20], al
ja case.default.0x42e8cc
jmp dword [ecx*4 + 0x42f82f]
push dword [ebp - 0x20c]
call ebx
jmp 0x42e8ec
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
pop ecx
pop ecx
jmp 0x42f6f2
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0xc
jmp 0x42f6f2
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x10
jmp 0x42f6f2
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x14
jmp 0x42f6f2
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x18
jmp 0x42f6f2
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x1c
jmp 0x42f6f2
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x20
jmp 0x42f6f2
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x24
jmp 0x42f6f2
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x28
jmp 0x42f6f2
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x2c
jmp 0x42f6f2
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x30
jmp 0x42f6f2
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x34
jmp 0x42f6f2
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x38
jmp 0x42f6f2
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x3c
jmp 0x42f6f2
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x40
jmp 0x42f6f2
cmp ecx, 0x14
ja 0x42ed27
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x50
jmp 0x42f6f2
cmp ecx, 0x1e
ja 0x42edee
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x78
jmp 0x42f6f2
cmp ecx, 0x28
ja 0x42eef4
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push dword [ebp - 0x184]
push dword [ebp - 0x188]
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0xa0
jmp 0x42f6f2
cmp ecx, 0x64
ja case.default.0x42f174
push dword [ebp - 0x80]
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [ebp - 0xf4]
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push dword [ebp - 0x124]
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push dword [ebp - 0x138]
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
push dword [ebp - 0x144]
push dword [ebp - 0x148]
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
push dword [ebp - 0x154]
push dword [ebp - 0x158]
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
push dword [ebp - 0x164]
push dword [ebp - 0x168]
push dword [ebp - 0x16c]
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push dword [ebp - 0x184]
push dword [ebp - 0x188]
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x190
jmp 0x42f6f2
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x20], al
ja case.default.0x42f174
jmp dword [ecx*4 + 0x42f873]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f6f2
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
mov dword [ebp - 0x14], eax
cmp byte [ebp - 0xd], 0
jg 0x42f70a
cmp dword [ebp - 0x24], 0
je 0x42f70a
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x17], 0
je 0x42f72c
call dword [0x519454]
mov al, byte [ebp + 0x17]
mov ecx, dword [ebp + 8]
not al
and byte [ecx + 0x10], al
push 0x5194ec
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x15], 0
jg 0x42f73b
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x224]
or eax, dword [ebp - 0x220]
je 0x42f74f
cmp byte [ebp - 0x15], 0
jg 0x42f754
call fcn.0041de75
mov eax, dword [ebp - 0x44]
mov ax, word [eax]
test ax, ax
je 0x42f7a7
cmp ax, 0x2a
je 0x42f780
cmp byte [ebp - 0x20], 0
je 0x42f780
mov eax, dword [ebp - 0x14]
cdq
push edx
push eax
lea eax, [ebp - 0x2ac]
push eax
call fcn.004458f0
add esp, 0xc
and dword [ebp - 0x14], 0
xor esi, esi
mov ecx, dword [ebp - 0x44]
mov ax, word [ecx]
cmp ax, si
je 0x42f7a7
cmp ax, 0x2a
je 0x42f7a7
lea eax, [ebp - 0x2ac]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.00444550
mov esi, dword [ebp - 0x40]
test esi, esi
jge 0x42e78e
mov eax, dword [ebp + esi*4 - 0x7a8]
test eax, eax
je 0x42f7c8
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.0043f290
inc esi
js 0x42f7b2
jmp 0x42e78e
mov al, byte [ebp - 0x1d]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov esi, eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 2
call fcn.0042a98a
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 1
call fcn.0042aaa8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0
call fcn.0043f290
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call fcn.0043f290
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10