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

Disassembly:
mov eax, 0x4e9404
call fcn.004b48a0
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.00456550
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.0041edaf
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.00449480
push 1
lea eax, [ebp + 0xc]
push eax
push 0x4f5aa4
mov byte [ebp - 4], 1
mov word [ebp - 0x2ac], bx
call fcn.0044b960
add esp, 0xc
test al, al
jne 0x42e552
cmp esi, ebx
mov byte [ebp - 0x18], al
je 0x42e558
mov byte [ebp - 0x18], 1
cmp esi, ebx
setne byte [ebp - 0x1d]
cmp byte [ebp - 0x18], 0
je 0x42e56a
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 0x42e57a
mov dl, al
movsx edi, dl
movzx eax, ax
cmp eax, edi
push 3
pop esi
jne 0x42e85a
movzx eax, word [ecx + 2]
cmp eax, edi
jne 0x42e83c
push 1
lea eax, [ebp + 0xc]
push eax
add ecx, 4
push 0x4f64e0
mov dword [ebp + 0xc], ecx
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e5c0
mov dword [ebp + 0x10], 1
jmp 0x42e82e
push 2
lea eax, [ebp + 0xc]
push eax
push 0x4f64dc
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e5e0
mov byte [ebp - 0x17], 1
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64d8
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e5ff
mov byte [ebp - 0x17], 0
jmp 0x42e82e
push 4
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e61f
mov byte [ebp - 0x15], 2
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64cc
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e63e
mov byte [ebp - 0x15], 0
jmp 0x42e82e
push 2
lea eax, [ebp + 0xc]
push eax
push 0x4f64c8
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e65e
mov byte [ebp - 0xe], 1
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64c4
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e67d
mov byte [ebp - 0xe], 0x23
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64c0
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e69c
mov byte [ebp - 0xe], 0x2a
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64bc
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e6bb
mov byte [ebp - 0xe], 0x24
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64b8
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e6da
mov byte [ebp - 0xe], 0x40
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64b4
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e6f9
mov byte [ebp - 0xe], 0x3d
jmp 0x42e82e
push 2
lea eax, [ebp + 0xc]
push eax
push 0x4f64b0
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e71c
mov dword [ebp - 0x34], 1
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64ac
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e73a
mov dword [ebp - 0x34], ebx
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64a8
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e759
mov byte [ebp - 0x16], 1
jmp 0x42e82e
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4f64a4
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e778
mov byte [ebp - 0x1e], 1
jmp 0x42e82e
push 1
lea eax, [ebp + 0xc]
push eax
push 0x4f64a0
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e798
mov byte [ebp - 0x36], 1
jmp 0x42e82e
push 4
push dword [ebp + 0xc]
push str.ret:
call fcn.004449d0
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x42e80a
add dword [ebp + 0xc], 8
mov esi, dword [ebp + 0xc]
push eax
call fcn.00417de5
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x44]
call fcn.00449600
lea ecx, [ebp + 0xc]
call fcn.0041edaf
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x44]
push eax
call fcn.004166b6
push dword [ebp - 0x44]
mov byte [ebp - 0xd], 1
push 0x4f0070
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
push 3
pop esi
jne 0x42e82e
mov eax, dword [ebp - 0x44]
mov byte [ebp - 0xd], 3
mov word [eax], bx
jmp 0x42e82e
push 1
push eax
push 0x4f6494
call fcn.0044b960
add esp, 0xc
test al, al
je 0x42e824
mov byte [ebp - 0x1f], 1
jmp 0x42e82e
lea eax, [ebp + 0xc]
push eax
call fcn.00417e2a
pop ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
cmp eax, edi
je 0x42e58b
cmp byte [ebp - 0x16], 0
je 0x42e85a
push 0xffffffffffffff9c
push 0x4efd50
push ebx
push ecx
mov ecx, dword [ebp + 8]
call fcn.0046abb0
mov esi, eax
jmp 0x43020d
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.00449780
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 0x42e8e6
mov edi, eax
sub edi, dword [ebp - 0x3c]
sar edi, 1
add dword [ebp - 0x1c], 2
jmp 0x42e8e9
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x5fc], eax
je 0x42e908
cmp word [eax], 0x2a
jne 0x42e908
mov byte [ebp - 0x35], 1
jmp 0x42e91c
cmp byte [ebp - 0x18], 0
mov byte [ebp - 0x35], 0
jne 0x42e91c
cmp byte [ebp - 0x1d], 0
mov byte [ebp - 0x16], 1
je 0x42e920
mov byte [ebp - 0x16], 0
cmp byte [ebp - 0x1e], 0
jne 0x42e974
cmp byte [ebp - 0x16], 0
je 0x42e974
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x28], eax
jne 0x42e93c
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 0x42e974
mov word [eax], bx
add dword [ebp - 0x28], 2
cmp dword [ebp - 0x40], 2
jl 0x42e96b
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 0x42e943
mov dword [ebp - 0x228], ebx
cmp dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x2c], ebx
je 0x42e99c
push 0x2c
push dword [ebp - 0x1c]
call esi
cmp dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], eax
je 0x42e99c
mov eax, dword [ebp - 0x1c]
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
cmp word [eax], bx
jne 0x42e9ae
mov esi, 0x80070057
jmp 0x4301ef
cmp dword [ebp - 0x2c], ebx
je 0x42e9bd
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 0x42e9d6
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x42e9d6
cmp word [ecx], bx
jne 0x42e9d6
mov dword [ebp - 0x1c], ebx
test al, al
je 0x42e9fd
cmp dword [ebp - 0x2c], ebx
je 0x42e9fd
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0043de70
mov eax, dword [ebp - 0x2c]
cmp word [eax], bx
jne 0x42e9fd
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 0xd], 0
jne 0x42eb4e
cmp dword [ebp - 0x1c], ebx
jne 0x42ea1b
mov dword [ebp - 0x1c], 0x4f646e
jmp 0x42ea41
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x4f646e
call esi
test eax, eax
je 0x42ea41
push dword [ebp - 0x1c]
push 0x4f6442
call esi
test eax, eax
jne 0x42eb4e
cmp dword [ebp - 0x34], ebx
mov byte [ebp - 0xd], 0xff
jge 0x42ea51
mov dword [ebp - 0x34], 0x31
cmp byte [ebp - 0x34], 0
je 0x42eb4e
lea ecx, [ebp + 0x10]
call fcn.00449480
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.004565c0
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 5
call fcn.00456690
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.00443880
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.004494e0
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.004565c0
push dword [eax]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 6
call fcn.00449510
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.00443880
cmp edi, ebx
jl 0x42eae9
mov eax, dword [ebp - 0x21c]
mov word [eax + edi*2], bx
push dword [ebp - 0x21c]
lea ecx, [ebp + 0x10]
call fcn.00449510
push 0xffffffffffffffff
push 0x4f63fc
lea ecx, [ebp + 0x14]
call fcn.004565c0
push dword [eax]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 7
call fcn.00449510
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.00443880
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x10]
call fcn.00449510
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.0041ac41
mov esi, eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 3
call fcn.00443880
jmp 0x4301ef
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x4301dc
cmp word [eax], bx
je 0x4301dc
cmp byte [ebp - 0x1e], 0
jne 0x42ebc7
cmp byte [ebp - 0x16], 0
je 0x42ebc7
cmp dword [ebp + 0x14], ebx
je 0x42ebc7
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 0x42ebbb
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x458]
call fcn.00454330
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 0x42eb8b
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 3
call fcn.00443880
cmp byte [ebp - 0x1e], 0
push 2
pop eax
jne 0x42ecef
cmp byte [ebp - 0x16], 0
je 0x42ecef
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 4], ebx
je 0x42ecef
cmp byte [ebp - 0x45], 0
je 0x42ebfd
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [ebp - 0x28], ecx
je 0x42ebfd
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 0x42ecef
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 0x42ee2b
cmp byte [ebp - 0xe], 0x2a
je 0x42edc1
cmp byte [ebp - 0xe], 0x24
je 0x42ecd8
cmp byte [ebp - 0xe], 0x40
je 0x42ec85
cmp byte [ebp - 0xe], 0x3d
je 0x42eccd
cmp byte [ebp - 0xe], dl
je 0x42ee21
inc eax
inc eax
movzx ecx, cx
inc dl
cmp ecx, 0x2a
mov dword [ebp - 0x28], eax
je 0x42edc1
cmp ecx, 0x3d
je 0x42eccd
cmp ecx, 0x40
jne 0x42ecd8
xor ebx, ebx
cmp eax, ebx
je 0x42ee5c
push 4
call fcn.004cc845
pop ecx
mov dword [ebp - 0x3c], eax
cmp eax, ebx
mov byte [ebp - 4], 0xa
je 0x42ecae
push dword [ebp - 0x28]
mov ecx, eax
call fcn.0041ecee
jmp 0x42ecb0
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.0041ede5
mov eax, dword [ebp - 0x28]
jmp 0x42ee5c
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 0x42ecef
cmp dword [ebp - 0x50], 0x64
jbe 0x42ec10
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DllRegisterServer
push dword [ebp - 0x1c]
call esi
test eax, eax
jne 0x42ed1e
cmp dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], 0x4f646e
mov byte [ebp - 0xd], 0xff
jge 0x42ed1a
mov dword [ebp - 0x34], 0x31
mov byte [ebp - 0x17], 1
push str._DllUnregisterServer
push dword [ebp - 0x1c]
call esi
test eax, eax
jne 0x42ed47
cmp dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], 0x4f6442
mov byte [ebp - 0xd], 0xff
jge 0x42ed43
mov dword [ebp - 0x34], 0x71
mov byte [ebp - 0x17], 1
push 0x20a
lea ecx, [ebp - 0x4c]
call fcn.004494b0
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 0x42ee77
cmp word [eax + 2], si
jne 0x42ee77
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0044ce60
mov ebx, dword [ebp - 0x224]
mov eax, ebx
or eax, dword [ebp - 0x220]
pop ecx
pop ecx
jne 0x42ee63
mov al, byte [ebp - 0x1d]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 0x14], eax
jmp 0x430192
cmp word [eax], 0x2a
jne 0x42edcc
inc eax
inc eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x14], eax
call fcn.00449480
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.0043de70
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x30]
mov dword [ebp + 0x14], ebx
call fcn.0041ff6a
cmp eax, ebx
je 0x42ee0b
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.00443880
jmp 0x42ecdc
cmp cx, 0x23
jne 0x42ecda
cmp cx, 0x23
jne 0x42ee36
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.0044ce60
mov eax, dword [ebp - 0x214]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x42ecdc
cmp byte [ebp - 0x15], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], ebx
mov byte [ebp - 0xd], 1
jge 0x42ee77
mov byte [ebp - 0x15], 1
cmp eax, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x3c], esi
je 0x42ee98
cmp word [eax], 0x22
jne 0x42ee8e
mov dword [ebp - 0x3c], 1
push eax
call fcn.00422077
pop ecx
mov dword [ebp + 0xc], eax
mov cx, word [eax]
cmp cx, 0x2a
jne 0x42eea7
mov byte [ebp - 0x1f], 1
xor esi, esi
cmp cx, si
mov edi, eax
je 0x42eeba
cmp cx, 0x2e
jne 0x42eebc
cmp word [eax + 2], si
jne 0x42eebc
xor edi, edi
cmp byte [ebp - 0x15], 0
jg 0x42eed3
push dword [ebp - 0x4c]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp + 0xc]
cmp byte [ebp - 0x35], 0
je 0x42ef0d
cmp byte [ebp - 0x1f], 0
jne 0x42ef0d
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp eax, esi
jne 0x42ef05
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
jne 0x42ef05
cmp byte [ebp - 0x1d], 0
jne 0x42ef05
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp - 0x4c]
jmp 0x42eb40
cmp byte [ebp - 0x17], 0
jle 0x42ef44
push 0x5c
push esi
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, esi
je 0x42ef44
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x30]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.004565a0
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x30]
call fcn.00443880
cmp ebx, esi
jne 0x42f135
cmp byte [ebp - 0x1f], 0
jne 0x42ef85
mov esi, 0x51d5ec
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 0xd], 0
jne 0x42ef7e
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp - 0x24], eax
jne 0x42ef76
mov byte [ebp - 0xd], 1
test edi, edi
jne 0x42ef7e
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 0x42f0f9
cmp byte [ebp - 0x1f], bl
je 0x42f0e6
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 0x42efd4
cmp word [edi], 0x23
jne 0x42efd4
xor eax, eax
mov ax, word [edi + 2]
push eax
call fcn.00423b98
add esp, 4
test al, al
jne 0x42efde
cmp word [edi], 0x2a
jne 0x42f049
inc edi
inc edi
mov esi, edi
cmp word [edi], bx
mov eax, dword [0x51d1cc]
mov dword [ebp - 0x30], ebx
je 0x42eff8
cmp word [esi], 0x23
je 0x42eff8
inc esi
inc esi
cmp word [esi], bx
jne 0x42efeb
mov bx, word [esi]
cmp bx, 0x23
jne 0x42f058
and word [esi], 0
cmp word [edi], 0
je 0x42f019
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 0x42f038
push 0
lea ecx, [ebp - 0x218]
push ecx
push str.EXEDATA
push esi
push eax
call fcn.00423fea
add esp, 0x14
cmp dword [ebp - 0x30], 0
je 0x42f058
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42f058
lea eax, [ebp - 0x218]
push eax
push edi
call fcn.00423d31
pop ecx
pop ecx
mov edi, dword [ebp - 0x218]
test edi, edi
mov ebx, dword [ebp - 0x214]
jne 0x42f080
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x14], 0x80004005
mov byte [ebp - 4], 0xb
call fcn.00443880
jmp 0x42f0fe
push 0x18
call fcn.004cc845
test eax, eax
pop ecx
je 0x42f097
mov ecx, eax
call fcn.0041f928
mov esi, eax
jmp 0x42f099
xor esi, esi
push ebx
push edi
mov ecx, esi
call fcn.00423daf
test eax, eax
je 0x42f0cb
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
call fcn.0041ecee
push dword [eax]
mov ecx, esi
call fcn.0041f964
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x14], eax
call fcn.00443880
cmp dword [ebp + 0x14], 0
jne 0x42f0d2
mov dword [ebp - 0x14], 0x80004005
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0xb
call fcn.00443880
mov ebx, dword [ebp + 0x14]
jmp 0x42f135
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x24], eax
jne 0x42f109
call esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x24], ebx
jne 0x42f109
cmp byte [ebp - 0x18], 0
jne 0x42f150
jmp 0x430138
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
call fcn.0041ecee
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.00443880
test ebx, ebx
jne 0x42f135
call esi
mov dword [ebp - 0x14], eax
cmp byte [ebp - 0x18], 0
je 0x42f1ae
cmp byte [ebp - 0xd], 0
jg 0x42f150
cmp dword [ebp - 0x24], 0
je 0x42f150
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x1d], 0
je 0x42f16a
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00443880
mov esi, dword [ebp + 0x14]
jmp 0x4301ef
cmp dword [ebp + 0x14], 0
je 0x42f188
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.00448be0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00443880
mov esi, dword [ebp - 0x14]
jmp 0x4301ef
xor esi, esi
cmp ebx, esi
mov byte [ebp + 0x17], 0
je case.default.0x42fb80
test byte [ebp - 0x34], 7
je 0x42f214
call fcn.004483d0
cmp dword [ebp - 0x34], esi
je 0x42f214
cmp dword [0x51d5a0], esi
je 0x42f214
cmp dword [0x51d5a4], esi
je 0x42f214
mov esi, 0x51d5ec
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 8]
mov al, byte [edi + 0x10]
test al, 2
jne 0x42f20d
test al, 1
jne 0x42f1fa
mov byte [ebp + 0x17], 1
or byte [ebp + 0x17], 2
or al, 3
push 0
mov byte [edi + 0x10], al
call dword [0x51d5a0]
jmp 0x42f214
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x1e], 0
je 0x42f2b6
and dword [ebp + 0x10], 0
cmp byte [ebp - 0xe], 0x40
mov byte [ebp - 4], 0xd
mov byte [ebp - 0x20], 1
jne 0x42f24b
cmp dword [ebp - 0x2c], 0
je 0x42f24b
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x2c]
lea ecx, [ebp + 0x10]
call fcn.004493e0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x1c], 0
mov esi, dword [0x51d1cc]
push 5
pop edi
je 0x42f28e
push 0x12
push dword [ebp - 0x1c]
push str.InstallHinfSection
call fcn.004449d0
add esp, 0xc
test al, al
je 0x42f28e
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x24], 0
je 0x42f28a
mov word [eax + 0x24], 1
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x26], 0
jne 0x42f28e
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.00443c90
pop ecx
push eax
call ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xb
call fcn.00443880
jmp case.default.0x42fb80
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x50]
jne 0x42fb6b
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x20], al
ja case.default.0x42f2d8
jmp dword [ecx*4 + 0x43023b]
push dword [ebp - 0x20c]
call ebx
jmp 0x42f2f8
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
pop ecx
pop ecx
jmp 0x4300fe
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0xc
jmp 0x4300fe
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x10
jmp 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
cmp ecx, 0x14
ja 0x42f733
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 0x4300fe
cmp ecx, 0x1e
ja 0x42f7fa
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 0x4300fe
cmp ecx, 0x28
ja 0x42f900
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 0x4300fe
cmp ecx, 0x64
ja case.default.0x42fb80
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 0x4300fe
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x20], al
ja case.default.0x42fb80
jmp dword [ecx*4 + 0x43027f]
call ebx
jmp 0x4300fe
push dword [ebp - 0x20c]
call ebx
jmp 0x4300fe
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x4300fe
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x4300fe
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x4300fe
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x4300fe
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 0x430116
cmp dword [ebp - 0x24], 0
je 0x430116
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x17], 0
je 0x430138
call dword [0x51d5a4]
mov al, byte [ebp + 0x17]
mov ecx, dword [ebp + 8]
not al
and byte [ecx + 0x10], al
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x15], 0
jg 0x430147
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x224]
or eax, dword [ebp - 0x220]
je 0x43015b
cmp byte [ebp - 0x15], 0
jg 0x430160
call fcn.0041f8a9
mov eax, dword [ebp - 0x44]
mov ax, word [eax]
test ax, ax
je 0x4301b3
cmp ax, 0x2a
je 0x43018c
cmp byte [ebp - 0x20], 0
je 0x43018c
mov eax, dword [ebp - 0x14]
cdq
push edx
push eax
lea eax, [ebp - 0x2ac]
push eax
call fcn.004a48b0
add esp, 0xc
and dword [ebp - 0x14], 0
xor esi, esi
mov ecx, dword [ebp - 0x44]
mov ax, word [ecx]
cmp ax, si
je 0x4301b3
cmp ax, 0x2a
je 0x4301b3
lea eax, [ebp - 0x2ac]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.00448be0
mov esi, dword [ebp - 0x40]
test esi, esi
jge 0x42f19a
mov eax, dword [ebp + esi*4 - 0x7a8]
test eax, eax
je 0x4301d4
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00443880
inc esi
js 0x4301be
jmp 0x42f19a
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.0042b3d1
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 1
call fcn.00423baf
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0
call fcn.00443880
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call fcn.00443880
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10