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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7a8
push ebx
push esi
mov esi, dword [ebp + 0x10]
and dword [ebp + 0x10], 1
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x54]
and esi, 0xf0
call fcn.0043ddc9
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x50], 0xffffffff
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x48], eax
call fcn.0040b43e
xor ebx, ebx
lea ecx, [ebp - 0x30]
mov byte [ebp - 0xd], 0xff
mov byte [ebp - 0xb], 0xff
mov byte [ebp - 0x17], bl
mov byte [ebp - 2], bl
mov byte [ebp - 1], bl
mov byte [ebp - 0xa], bl
mov byte [ebp - 9], bl
mov byte [ebp - 0x16], bl
mov byte [ebp - 0x32], bl
mov dword [ebp - 0x2c], 0xffff0000
call fcn.00433c24
push 1
lea eax, [ebp + 0xc]
push eax
push 0x491f94
mov word [ebp - 0x2ac], bx
call fcn.00435950
add esp, 0xc
test al, al
jne 0x41b573
cmp esi, ebx
mov byte [ebp - 0xc], al
je 0x41b579
mov byte [ebp - 0xc], 1
cmp esi, ebx
setne byte [ebp - 0x15]
cmp byte [ebp - 0xc], 0
je 0x41b58b
mov byte [ebp - 0xd], 0
mov byte [ebp - 0xb], 1
mov ecx, dword [ebp + 0xc]
mov ax, word [ecx]
cmp ax, 0x2d
mov dl, 0x2a
jne 0x41b59b
mov dl, al
movsx edi, dl
movzx eax, ax
cmp eax, edi
push 3
pop esi
jne 0x41b87b
movzx eax, word [ecx + 2]
cmp eax, edi
jne 0x41b85d
push 1
lea eax, [ebp + 0xc]
push eax
add ecx, 4
push 0x492980
mov dword [ebp + 0xc], ecx
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b5e1
mov dword [ebp + 0x10], 1
jmp 0x41b84f
push 2
lea eax, [ebp + 0xc]
push eax
push 0x49297c
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b601
mov byte [ebp - 0xd], 1
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x492978
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b620
mov byte [ebp - 0xd], 0
jmp 0x41b84f
push 4
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b640
mov byte [ebp - 0xb], 2
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x49296c
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b65f
mov byte [ebp - 0xb], 0
jmp 0x41b84f
push 2
lea eax, [ebp + 0xc]
push eax
push 0x492968
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b67f
mov byte [ebp - 1], 1
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x492964
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b69e
mov byte [ebp - 1], 0x23
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x492960
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b6bd
mov byte [ebp - 1], 0x2a
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x49295c
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b6dc
mov byte [ebp - 1], 0x24
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x492958
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b6fb
mov byte [ebp - 1], 0x40
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x492954
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b71a
mov byte [ebp - 1], 0x3d
jmp 0x41b84f
push 2
lea eax, [ebp + 0xc]
push eax
push 0x492950
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b73d
mov dword [ebp - 0x2c], 1
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x49294c
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b75b
mov dword [ebp - 0x2c], ebx
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x492948
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b77a
mov byte [ebp - 9], 1
jmp 0x41b84f
push esi
lea eax, [ebp + 0xc]
push eax
push 0x492944
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b799
mov byte [ebp - 0x16], 1
jmp 0x41b84f
push 1
lea eax, [ebp + 0xc]
push eax
push 0x492940
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b7b9
mov byte [ebp - 0x32], 1
jmp 0x41b84f
push 4
push dword [ebp + 0xc]
push str.ret:
call fcn.0042fae7
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x41b82b
add dword [ebp + 0xc], 8
mov esi, dword [ebp + 0xc]
push eax
call fcn.00404167
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x30]
call fcn.00433d4a
lea ecx, [ebp + 0xc]
call fcn.0040b43e
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x30]
push eax
call fcn.00402c07
push dword [ebp - 0x30]
mov byte [ebp - 2], 1
push 0x492934
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
push 3
pop esi
jne 0x41b84f
mov eax, dword [ebp - 0x30]
mov byte [ebp - 2], 3
mov word [eax], bx
jmp 0x41b84f
push 1
push eax
push 0x492930
call fcn.00435950
add esp, 0xc
test al, al
je 0x41b845
mov byte [ebp - 0xa], 1
jmp 0x41b84f
lea eax, [ebp + 0xc]
push eax
call fcn.0040418b
pop ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
cmp eax, edi
je 0x41b5ac
cmp byte [ebp - 9], 0
je 0x41b87b
push 0xffffffffffffff9c
push 0x496134
push ebx
push ecx
mov ecx, dword [ebp + 8]
call fcn.0044a23b
mov esi, eax
jmp 0x41c1c3
push 0x6e
pop ecx
xor eax, eax
push 0x6a
lea edi, [ebp - 0x210]
mov dword [ebp - 0x214], 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 - 0x40], ebx
call fcn.00433e90
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
lea eax, [ebp - 0x458]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push 0x2c
push eax
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x38], 1
call esi
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x41b907
mov edi, eax
sub edi, dword [ebp - 0x48]
sar edi, 1
add dword [ebp - 0x14], 2
jmp 0x41b90a
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x5fc], eax
je 0x41b929
cmp word [eax], 0x2a
jne 0x41b929
mov byte [ebp - 0x31], 1
jmp 0x41b93d
cmp byte [ebp - 0xc], 0
mov byte [ebp - 0x31], 0
jne 0x41b93d
cmp byte [ebp - 0x15], 0
mov byte [ebp - 9], 1
je 0x41b941
mov byte [ebp - 9], 0
cmp byte [ebp - 0x16], 0
jne 0x41b995
cmp byte [ebp - 9], 0
je 0x41b995
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x20], eax
jne 0x41b95d
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], 1
push 0x2c
push dword [ebp - 0x20]
call esi
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x41b995
mov word [eax], bx
add dword [ebp - 0x20], 2
cmp dword [ebp - 0x38], 2
jl 0x41b98c
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
mov dword [ebp + ecx*4 - 0x458], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x6a
jl 0x41b964
cmp dword [ebp - 0x14], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x28], ebx
je 0x41b9b6
push 0x2c
push dword [ebp - 0x14]
call esi
cmp dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], eax
je 0x41b9b6
mov eax, dword [ebp - 0x14]
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
cmp word [eax], bx
jne 0x41b9c8
mov esi, 0x80070057
jmp 0x41c1b0
cmp dword [ebp - 0x28], ebx
je 0x41b9d7
mov eax, dword [ebp - 0x28]
mov word [eax], bx
add dword [ebp - 0x28], 2
mov al, byte [ebp - 2]
and al, 2
mov byte [ebp - 0x39], al
je 0x41b9f0
mov ecx, dword [ebp - 0x14]
cmp ecx, ebx
je 0x41b9f0
cmp word [ecx], bx
jne 0x41b9f0
mov dword [ebp - 0x14], ebx
test al, al
je 0x41ba17
cmp dword [ebp - 0x28], ebx
je 0x41ba17
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042a99b
mov eax, dword [ebp - 0x28]
cmp word [eax], bx
jne 0x41ba17
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 2], 0
jne 0x41bb3d
cmp dword [ebp - 0x14], ebx
jne 0x41ba35
mov dword [ebp - 0x14], 0x49290a
jmp 0x41ba5b
push dword [ebp - 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x49290a
call esi
test eax, eax
je 0x41ba5b
push dword [ebp - 0x14]
push 0x4928de
call esi
test eax, eax
jne 0x41bb3d
cmp dword [ebp - 0x2c], ebx
mov byte [ebp - 2], 0xff
jge 0x41ba6b
mov dword [ebp - 0x2c], 0x31
cmp byte [ebp - 0x2c], 0
je 0x41bb3d
lea ecx, [ebp + 0x10]
call fcn.00433c24
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
call fcn.0043ddff
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
call fcn.0043de5f
lea ecx, [ebp + 0x14]
call fcn.0042eb98
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.00433c6b
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.0043ddff
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.00433c92
lea ecx, [ebp + 0x14]
call fcn.0042eb98
cmp edi, ebx
jl 0x41baec
mov eax, dword [ebp - 0x54]
mov word [eax + edi*2], bx
push dword [ebp - 0x54]
lea ecx, [ebp + 0x10]
call fcn.00433c92
push 0xffffffffffffffff
push 0x492898
lea ecx, [ebp + 0x14]
call fcn.0043ddff
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.00433c92
lea ecx, [ebp + 0x14]
call fcn.0042eb98
push dword [ebp - 0x14]
lea ecx, [ebp + 0x10]
call fcn.00433c92
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.00406e56
mov esi, eax
lea ecx, [ebp + 0x10]
jmp 0x41c1ab
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x41d230
cmp word [eax], bx
je 0x41d230
cmp byte [ebp - 0x16], 0
jne 0x41bbae
cmp byte [ebp - 9], 0
je 0x41bbae
cmp dword [ebp + 0x14], ebx
je 0x41bbae
push 2
pop esi
cmp dword [ebp - 0x38], esi
lea eax, [ebp - 0x600]
mov dword [ebp - 0x1c], eax
mov dword [ebp + 0x14], ebx
jle 0x41bba6
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x458]
call fcn.0043c245
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 - 0x38]
mov dword [ebp + 0x14], ebx
jl 0x41bb76
lea ecx, [ebp + 0x14]
call fcn.0042eb98
cmp byte [ebp - 0x16], 0
push 2
pop eax
jne 0x41bcc7
cmp byte [ebp - 9], 0
je 0x41bcc7
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 4], ebx
je 0x41bcc7
cmp byte [ebp - 0x39], 0
je 0x41bbe4
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [ebp - 0x20], ecx
je 0x41bbe4
push 3
pop eax
mov ecx, dword [ebp - 0x1c]
shl eax, 2
lea edi, [eax + ecx]
lea eax, [ebp + eax - 0x45c]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi]
add dword [ebp - 0x1c], 4
add edi, 4
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x41bcc7
mov esi, dword [ebp - 0x40]
mov cx, word [eax]
lea esi, [ebp + esi*4 - 0x214]
xor dl, dl
cmp byte [ebp - 1], 0x23
mov dword [esi], eax
je 0x41bdf7
cmp byte [ebp - 1], 0x2a
je 0x41bd95
cmp byte [ebp - 1], 0x24
je 0x41bcb0
cmp byte [ebp - 1], 0x40
je 0x41bc68
cmp byte [ebp - 1], 0x3d
je 0x41bca5
cmp byte [ebp - 1], dl
je 0x41bded
inc eax
inc eax
movzx ecx, cx
inc dl
cmp ecx, 0x2a
mov dword [ebp - 0x20], eax
je 0x41bd95
cmp ecx, 0x3d
je 0x41bca5
cmp ecx, 0x40
jne 0x41bcb0
xor ebx, ebx
cmp eax, ebx
je 0x41be1c
push 4
call fcn.0047b518
cmp eax, ebx
pop ecx
je 0x41bc8a
push dword [ebp - 0x20]
mov ecx, eax
call fcn.0040b396
jmp 0x41bc8c
xor eax, eax
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.0040b46a
mov eax, dword [ebp - 0x20]
jmp 0x41be1c
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
movsx eax, dl
lea eax, [ecx + eax*2]
mov dword [esi], eax
xor ebx, ebx
inc dword [ebp - 0x40]
cmp byte [ebp - 0x32], 0
jne 0x41bcc7
cmp dword [ebp - 0x40], 0x64
jbe 0x41bbf7
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DllRegisterServer
push dword [ebp - 0x14]
call esi
test eax, eax
jne 0x41bcf6
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], 0x49290a
mov byte [ebp - 2], 0xff
jge 0x41bcf2
mov dword [ebp - 0x2c], 0x31
mov byte [ebp - 0xd], 1
push str._DllUnregisterServer
push dword [ebp - 0x14]
call esi
test eax, eax
jne 0x41bd1f
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], 0x4928de
mov byte [ebp - 2], 0xff
jge 0x41bd1b
mov dword [ebp - 0x2c], 0x71
mov byte [ebp - 0xd], 1
push 0x20a
lea ecx, [ebp - 0x58]
call fcn.00433c42
mov eax, dword [ebp + 0xc]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x218], esi
cmp word [eax], 0x23
mov dword [ebp - 0x1c], ebx
jne 0x41be34
cmp word [eax + 2], si
jne 0x41be34
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004369a1
mov ebx, dword [ebp - 0x21c]
mov eax, ebx
or eax, dword [ebp - 0x218]
pop ecx
pop ecx
jne 0x41be23
mov al, byte [ebp - 0x15]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 8], eax
jmp 0x41d1bf
cmp word [eax], 0x2a
jne 0x41bda0
inc eax
inc eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x24]
mov dword [ebp + 0x14], eax
call fcn.00433c24
mov ecx, dword [ebp + 8]
xor ebx, ebx
push ebx
push 0x2c
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.0042a99b
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x24]
mov dword [ebp + 0x14], ebx
call fcn.0040c4d0
cmp eax, ebx
je 0x41bddb
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x24]
mov dword [esi], eax
call fcn.0042eb98
jmp 0x41bcb4
cmp cx, 0x23
jne 0x41bcb2
cmp cx, 0x23
jne 0x41be02
inc eax
inc eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x4c]
push eax
xor ebx, ebx
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call fcn.004369a1
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x41bcb4
cmp byte [ebp - 0xb], 0
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 2], 1
jge 0x41be34
mov byte [ebp - 0xb], 1
mov edi, dword [ebp + 0xc]
cmp edi, esi
mov dword [ebp - 0x24], esi
mov byte [ebp + 0x17], 0
mov dword [ebp - 0x48], esi
je 0x41be5e
cmp word [edi], 0x22
jne 0x41be52
mov dword [ebp - 0x48], 1
push edi
call fcn.0040ec9c
mov edi, eax
pop ecx
mov dword [ebp + 0xc], edi
mov ax, word [edi]
cmp ax, 0x2a
jne 0x41be6b
mov byte [ebp - 0xa], 1
cmp ax, si
jne 0x41be72
xor edi, edi
cmp byte [ebp - 0xb], 0
jg 0x41be86
push dword [ebp - 0x58]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp edi, esi
je 0x41be9a
cmp word [edi], 0x2e
jne 0x41be9a
cmp word [edi + 2], si
mov byte [ebp - 9], 1
je 0x41be9e
mov byte [ebp - 9], 0
cmp byte [ebp - 0x31], 0
je 0x41bee6
cmp byte [ebp - 0xa], 0
jne 0x41bee6
cmp byte [ebp - 9], 0
je 0x41beb7
mov eax, dword [0x4a6e00]
jmp 0x41bebe
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp eax, esi
jne 0x41becf
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
je 0x41bed3
xor eax, eax
jmp 0x41bedf
cmp byte [ebp - 0x15], 0
jne 0x41becf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x41c1a8
cmp byte [ebp - 0xd], 0
jle 0x41bf1f
push 0x5c
push esi
push dword [ebp + 0xc]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, esi
je 0x41bf1f
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x44]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.0043dde6
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x44]
call fcn.0042eb98
cmp ebx, esi
jne 0x41c145
cmp byte [ebp - 0xa], 0
jne 0x41bf83
mov esi, 0x4a7658
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 2], 0
jne 0x41bf7c
test edi, edi
je 0x41bf5a
cmp word [edi], 0x2e
jne 0x41bf5a
cmp word [edi + 2], 0
jne 0x41bf5a
mov eax, dword [0x4a6e00]
mov dword [ebp - 0x24], eax
jmp 0x41bf6c
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp - 0x24], eax
je 0x41bf70
mov byte [ebp + 0x17], 0xff
test eax, eax
jne 0x41bf74
mov byte [ebp - 2], 1
test edi, edi
jne 0x41bf7c
mov byte [ebp - 2], 2
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x41c108
cmp byte [ebp - 0xa], 0
je 0x41c0dc
xor ecx, ecx
cmp dword [ebp - 0x48], ecx
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x220], ecx
mov esi, edi
jne 0x41bfcf
cmp word [edi], 0x23
jne 0x41bfcf
xor eax, eax
mov ax, word [edi + 2]
push eax
call fcn.00433834
add esp, 4
test al, al
jne 0x41bfd9
cmp word [edi], 0x2a
jne 0x41c044
inc edi
inc edi
mov esi, edi
cmp word [edi], cx
mov eax, dword [0x4a6e00]
mov dword [ebp - 0x44], ecx
je 0x41bff3
cmp word [esi], 0x23
je 0x41bff3
inc esi
inc esi
cmp word [esi], cx
jne 0x41bfe6
mov bx, word [esi]
cmp bx, 0x23
jne 0x41c053
and word [esi], 0
cmp word [edi], 0
je 0x41c014
push 2
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x44], eax
test eax, eax
mov word [esi], bx
je 0x41c033
push 0
lea ecx, [ebp - 0x228]
push ecx
push str.EXEDATA
push esi
push eax
call fcn.004108f8
add esp, 0x14
cmp dword [ebp - 0x44], 0
je 0x41c053
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x41c053
lea eax, [ebp - 0x228]
push eax
push edi
call fcn.004105a1
pop ecx
pop ecx
mov edi, dword [ebp - 0x228]
test edi, edi
mov ebx, dword [ebp - 0x224]
jne 0x41c07a
lea ecx, [ebp - 0x228]
mov dword [ebp - 8], 0x80004005
call fcn.0042eb98
jmp 0x41c10e
push 0x18
call fcn.0047b518
test eax, eax
pop ecx
je 0x41c091
mov ecx, eax
call fcn.0040bedf
mov esi, eax
jmp 0x41c093
xor esi, esi
push ebx
push edi
mov ecx, esi
call fcn.004106bf
test eax, eax
je 0x41c0c5
push dword [ebp - 0x14]
lea ecx, [ebp - 0x48]
call fcn.0040b396
push dword [eax]
mov ecx, esi
call fcn.0040bf1b
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c], eax
call fcn.0042eb98
cmp dword [ebp - 0x1c], 0
jne 0x41c0cc
mov dword [ebp - 8], 0x80004005
lea ecx, [ebp - 0x228]
call fcn.0042eb98
mov ebx, dword [ebp - 0x1c]
jmp 0x41c145
cmp byte [ebp - 9], 0
je 0x41c0e9
mov eax, dword [0x4a6e00]
jmp 0x41c0fa
cmp byte [ebp + 0x17], 0
jne 0x41c0fd
push edi
mov byte [ebp + 0x17], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x41c119
call esi
mov dword [ebp - 8], eax
cmp dword [ebp - 0x24], 0
jne 0x41c119
cmp byte [ebp - 0xc], 0
jne 0x41c16a
jmp 0x41d165
push dword [ebp - 0x14]
lea ecx, [ebp - 0x48]
call fcn.0040b396
push dword [eax]
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c], ebx
call fcn.0042eb98
test ebx, ebx
jne 0x41c145
call esi
mov dword [ebp - 8], eax
cmp byte [ebp - 0xc], 0
je 0x41c1da
cmp byte [ebp + 0x17], 0
jle 0x41c16a
cmp byte [ebp - 2], 0
jg 0x41c16a
cmp dword [ebp - 0x24], 0
je 0x41c16a
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x15], 0
je 0x41c175
mov esi, dword [ebp - 0x1c]
jmp 0x41c1a8
cmp dword [ebp - 0x1c], 0
je 0x41c193
push dword [ebp - 0x1c]
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 - 0x30]
call fcn.004335ed
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x58]
call fcn.0042eb98
lea ecx, [ebp - 0x50]
call fcn.00417feb
lea ecx, [ebp - 0x234]
call fcn.0041049f
lea ecx, [ebp - 0x30]
call fcn.0042eb98
lea ecx, [ebp - 0x54]
call fcn.0042eb98
mov eax, esi
jmp 0x41d264
xor esi, esi
cmp ebx, esi
mov byte [ebp - 0xa], 0
je case.default.0x41cba7
test byte [ebp - 0x2c], 7
je 0x41c240
call fcn.00432e77
cmp dword [ebp - 0x2c], esi
je 0x41c240
cmp dword [0x4a7238], esi
je 0x41c240
cmp dword [0x4a723c], esi
je 0x41c240
mov esi, 0x4a7658
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 8]
mov al, byte [edi + 0x10]
test al, 2
jne 0x41c239
test al, 1
jne 0x41c226
mov byte [ebp - 0xa], 1
or byte [ebp - 0xa], 2
or al, 3
push 0
mov byte [edi + 0x10], al
call dword [0x4a7238]
jmp 0x41c240
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x16], 0
je 0x41c2da
and dword [ebp + 0x10], 0
cmp byte [ebp - 1], 0x40
mov byte [ebp - 0x17], 1
jne 0x41c273
cmp dword [ebp - 0x28], 0
je 0x41c273
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x28]
lea ecx, [ebp + 0x10]
call fcn.00433bac
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x14], 0
mov esi, dword [0x4a6e00]
push 5
pop edi
je 0x41c2b6
push 0x12
push dword [ebp - 0x14]
push str.InstallHinfSection
call fcn.0042fae7
add esp, 0xc
test al, al
je 0x41c2b6
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x24], 0
je 0x41c2b2
mov word [eax + 0x24], 1
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x26], 0
jne 0x41c2b6
xor edi, edi
xor esi, esi
mov eax, dword [ebp + 8]
push edi
push dword [ebp - 0x28]
push esi
push dword [eax + 0x2c]
call fcn.0042f039
pop ecx
push eax
call ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 8], eax
call fcn.0042eb98
jmp case.default.0x41cba7
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x40]
jne 0x41cb92
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x17], al
ja case.default.0x41c2fc
jmp dword [ecx*4 + 0x41d26b]
push dword [ebp - 0x214]
call ebx
jmp 0x41c31c
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
pop ecx
pop ecx
jmp 0x41d125
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0xc
jmp 0x41d125
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x10
jmp 0x41d125
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x14
jmp 0x41d125
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x18
jmp 0x41d125
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x1c
jmp 0x41d125
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x20
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x24
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x28
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x2c
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x30
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x34
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x38
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x3c
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x40
jmp 0x41d125
cmp ecx, 0x14
ja 0x41c757
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x50
jmp 0x41d125
cmp ecx, 0x1e
ja 0x41c81e
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x78
jmp 0x41d125
cmp ecx, 0x28
ja 0x41c924
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0xa0
jmp 0x41d125
cmp ecx, 0x64
ja case.default.0x41cba7
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
add esp, 0x190
jmp 0x41d125
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x17], al
ja case.default.0x41cba7
jmp dword [ecx*4 + 0x41d2af]
call ebx
jmp 0x41d125
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
jmp 0x41d125
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]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call ebx
mov dword [ebp - 8], eax
cmp byte [ebp + 0x17], 0
jle 0x41d143
cmp byte [ebp - 2], 0
jg 0x41d143
cmp dword [ebp - 0x24], 0
je 0x41d143
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0xa], 0
je 0x41d165
call dword [0x4a723c]
mov al, byte [ebp - 0xa]
mov ecx, dword [ebp + 8]
not al
and byte [ecx + 0x10], al
push 0x4a7658
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0xb], 0
jg 0x41d174
push dword [ebp - 0x58]
call fcn.0040d9ae
pop ecx
mov eax, dword [ebp - 0x21c]
or eax, dword [ebp - 0x218]
je 0x41d188
cmp byte [ebp - 0xb], 0
jg 0x41d18d
call fcn.00410607
mov eax, dword [ebp - 0x30]
mov ax, word [eax]
test ax, ax
je 0x41d1e0
cmp ax, 0x2a
je 0x41d1b9
cmp byte [ebp - 0x17], 0
je 0x41d1b9
mov eax, dword [ebp - 8]
cdq
push edx
push eax
lea eax, [ebp - 0x2ac]
push eax
call fcn.00470db5
add esp, 0xc
and dword [ebp - 8], 0
xor esi, esi
mov ecx, dword [ebp - 0x30]
mov ax, word [ecx]
cmp ax, si
je 0x41d1e0
cmp ax, 0x2a
je 0x41d1e0
lea eax, [ebp - 0x2ac]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.004335ed
mov esi, dword [ebp - 0x38]
test esi, esi
jge 0x41d200
mov eax, dword [ebp + esi*4 - 0x7a8]
test eax, eax
je 0x41d1fd
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.0042eb98
inc esi
js 0x41d1e7
lea ecx, [ebp - 0x58]
call fcn.0042eb98
lea ecx, [ebp - 0x50]
call fcn.00417feb
lea ecx, [ebp - 0x234]
call fcn.0041049f
lea ecx, [ebp - 0x30]
call fcn.0042eb98
lea ecx, [ebp - 0x54]
call fcn.0042eb98
mov eax, dword [ebp - 8]
jmp 0x41d264
lea ecx, [ebp - 0x50]
call fcn.00417feb
lea ecx, [ebp - 0x234]
call fcn.0041049f
lea ecx, [ebp - 0x30]
call fcn.0042eb98
lea ecx, [ebp - 0x54]
call fcn.0042eb98
mov al, byte [ebp - 0x15]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
leave
ret 0x10