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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7a0
push ebx
push esi
mov esi, dword [ebp + 0x10]
and dword [ebp + 0x10], 1
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x4c]
and esi, 0xf0
call fcn.0043a4ba
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x48], 0xffffffff
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x40], eax
call fcn.0040ac34
xor ebx, ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 0xb], 0xff
mov byte [ebp - 9], 0xff
mov byte [ebp - 0x14], bl
mov byte [ebp - 1], bl
mov byte [ebp - 2], bl
mov byte [ebp - 0x13], bl
mov byte [ebp - 0xa], bl
mov byte [ebp - 0x12], bl
mov byte [ebp - 0x29], bl
mov dword [ebp - 0x24], 0xffff0000
call fcn.0042e1c4
push 1
lea eax, [ebp + 0xc]
push eax
push 0x487324
mov word [ebp - 0x2a4], bx
call fcn.0042fc5f
add esp, 0xc
test al, al
jne 0x41ae4f
cmp esi, ebx
mov byte [ebp - 0xc], al
je 0x41ae55
mov byte [ebp - 0xc], 1
cmp esi, ebx
setne byte [ebp - 0x11]
cmp byte [ebp - 0xc], 0
je 0x41ae67
mov byte [ebp - 0xb], 0
mov byte [ebp - 9], 1
mov ecx, dword [ebp + 0xc]
mov ax, word [ecx]
cmp ax, 0x2d
mov dl, 0x2a
jne 0x41ae77
mov dl, al
movsx edi, dl
movzx eax, ax
cmp eax, edi
push 3
pop esi
jne 0x41b157
movzx eax, word [ecx + 2]
cmp eax, edi
jne 0x41b139
push 1
lea eax, [ebp + 0xc]
push eax
add ecx, 4
push 0x487e24
mov dword [ebp + 0xc], ecx
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41aebd
mov dword [ebp + 0x10], 1
jmp 0x41b12b
push 2
lea eax, [ebp + 0xc]
push eax
push 0x487e20
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41aedd
mov byte [ebp - 0xb], 1
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487e1c
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41aefc
mov byte [ebp - 0xb], 0
jmp 0x41b12b
push 4
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41af1c
mov byte [ebp - 9], 2
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487e10
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41af3b
mov byte [ebp - 9], 0
jmp 0x41b12b
push 2
lea eax, [ebp + 0xc]
push eax
push 0x487e0c
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41af5b
mov byte [ebp - 2], 1
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487e08
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41af7a
mov byte [ebp - 2], 0x23
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487e04
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41af99
mov byte [ebp - 2], 0x2a
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487e00
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41afb8
mov byte [ebp - 2], 0x24
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487dfc
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41afd7
mov byte [ebp - 2], 0x40
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487df8
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41aff6
mov byte [ebp - 2], 0x3d
jmp 0x41b12b
push 2
lea eax, [ebp + 0xc]
push eax
push 0x487df4
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41b019
mov dword [ebp - 0x24], 1
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487df0
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41b037
mov dword [ebp - 0x24], ebx
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487dec
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41b056
mov byte [ebp - 0xa], 1
jmp 0x41b12b
push esi
lea eax, [ebp + 0xc]
push eax
push 0x487de8
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41b075
mov byte [ebp - 0x12], 1
jmp 0x41b12b
push 1
lea eax, [ebp + 0xc]
push eax
push 0x487de4
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41b095
mov byte [ebp - 0x29], 1
jmp 0x41b12b
push 4
push dword [ebp + 0xc]
push str.ret:
call fcn.0042996a
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x41b107
add dword [ebp + 0xc], 8
mov esi, dword [ebp + 0xc]
push eax
call fcn.00403ff2
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.0042e2ea
lea ecx, [ebp + 0xc]
call fcn.0040ac34
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x28]
push eax
call fcn.00402bdd
push dword [ebp - 0x28]
mov byte [ebp - 1], 1
push 0x4877b4
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
push 3
pop esi
jne 0x41b12b
mov eax, dword [ebp - 0x28]
mov byte [ebp - 1], 3
mov word [eax], bx
jmp 0x41b12b
push 1
push eax
push 0x487dd8
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x41b121
mov byte [ebp - 0x13], 1
jmp 0x41b12b
lea eax, [ebp + 0xc]
push eax
call fcn.00404037
pop ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
cmp eax, edi
je 0x41ae88
cmp byte [ebp - 0xa], 0
je 0x41b157
push 0xffffffffffffff9c
push 0x484964
push ebx
push ecx
mov ecx, dword [ebp + 8]
call fcn.0044572c
mov esi, eax
jmp 0x41ba5e
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 - 0x44c]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x5f4]
rep stosd dword es:[edi], eax
push 0x69
pop ecx
lea edi, [ebp - 0x79c]
mov dword [ebp - 0x7a0], ebx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x3c], ebx
call fcn.0042e430
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
lea eax, [ebp - 0x450]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
push 0x2c
push eax
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x34], 1
call esi
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x41b1e3
mov edi, eax
sub edi, dword [ebp - 0x40]
sar edi, 1
add dword [ebp - 0x10], 2
jmp 0x41b1e6
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x5f4], eax
je 0x41b205
cmp word [eax], 0x2a
jne 0x41b205
mov byte [ebp - 0x2a], 1
jmp 0x41b219
cmp byte [ebp - 0xc], 0
mov byte [ebp - 0x2a], 0
jne 0x41b219
cmp byte [ebp - 0x11], 0
mov byte [ebp - 0xa], 1
je 0x41b21d
mov byte [ebp - 0xa], 0
cmp byte [ebp - 0x12], 0
jne 0x41b271
cmp byte [ebp - 0xa], 0
je 0x41b271
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jne 0x41b239
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 1
push 0x2c
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x41b271
mov word [eax], bx
add dword [ebp - 0x1c], 2
cmp dword [ebp - 0x34], 2
jl 0x41b268
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + ecx*4 - 0x450], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x6a
jl 0x41b240
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x20], ebx
je 0x41b292
push 0x2c
push dword [ebp - 0x10]
call esi
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], eax
je 0x41b292
mov eax, dword [ebp - 0x10]
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
cmp word [eax], bx
jne 0x41b2a4
mov esi, 0x80070057
jmp 0x41ba4b
cmp dword [ebp - 0x20], ebx
je 0x41b2b3
mov eax, dword [ebp - 0x20]
mov word [eax], bx
add dword [ebp - 0x20], 2
mov al, byte [ebp - 1]
and al, 2
mov byte [ebp - 0x35], al
je 0x41b2cc
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
je 0x41b2cc
cmp word [ecx], bx
jne 0x41b2cc
mov dword [ebp - 0x10], ebx
test al, al
je 0x41b2f3
cmp dword [ebp - 0x20], ebx
je 0x41b2f3
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00425fcd
mov eax, dword [ebp - 0x20]
cmp word [eax], bx
jne 0x41b2f3
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 1], 0
jne 0x41b419
cmp dword [ebp - 0x10], ebx
jne 0x41b311
mov dword [ebp - 0x10], 0x487db2
jmp 0x41b337
push dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x487db2
call esi
test eax, eax
je 0x41b337
push dword [ebp - 0x10]
push 0x487d86
call esi
test eax, eax
jne 0x41b419
cmp dword [ebp - 0x24], ebx
mov byte [ebp - 1], 0xff
jge 0x41b347
mov dword [ebp - 0x24], 0x31
cmp byte [ebp - 0x24], 0
je 0x41b419
lea ecx, [ebp + 0x10]
call fcn.0042e1c4
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
call fcn.0043a4f0
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
call fcn.0043a550
lea ecx, [ebp + 0x14]
call fcn.00428a48
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.0042e20b
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.0043a4f0
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042e232
lea ecx, [ebp + 0x14]
call fcn.00428a48
cmp edi, ebx
jl 0x41b3c8
mov eax, dword [ebp - 0x4c]
mov word [eax + edi*2], bx
push dword [ebp - 0x4c]
lea ecx, [ebp + 0x10]
call fcn.0042e232
push 0xffffffffffffffff
push 0x487d40
lea ecx, [ebp + 0x14]
call fcn.0043a4f0
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.0042e232
lea ecx, [ebp + 0x14]
call fcn.00428a48
push dword [ebp - 0x10]
lea ecx, [ebp + 0x10]
call fcn.0042e232
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.00406b20
mov esi, eax
lea ecx, [ebp + 0x10]
jmp 0x41ba46
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x41cac2
cmp word [eax], bx
je 0x41cac2
cmp byte [ebp - 0x12], 0
jne 0x41b48a
cmp byte [ebp - 0xa], 0
je 0x41b48a
cmp dword [ebp + 0x14], ebx
je 0x41b48a
push 2
pop esi
cmp dword [ebp - 0x34], esi
lea eax, [ebp - 0x5f8]
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x14], ebx
jle 0x41b482
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x450]
call fcn.00437546
mov eax, dword [ebp + 0x14]
mov dword [ebp + esi*4 - 0x5f8], eax
mov dword [ebp + esi*4 - 0x7a0], eax
inc esi
cmp esi, dword [ebp - 0x34]
mov dword [ebp + 0x14], ebx
jl 0x41b452
lea ecx, [ebp + 0x14]
call fcn.00428a48
cmp byte [ebp - 0x12], 0
push 2
pop eax
jne 0x41b5a3
cmp byte [ebp - 0xa], 0
je 0x41b5a3
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 4], ebx
je 0x41b5a3
cmp byte [ebp - 0x35], 0
je 0x41b4c0
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [ebp - 0x1c], ecx
je 0x41b4c0
push 3
pop eax
mov ecx, dword [ebp - 0x18]
shl eax, 2
lea edi, [eax + ecx]
lea eax, [ebp + eax - 0x454]
mov dword [ebp - 0x18], eax
mov eax, dword [edi]
add dword [ebp - 0x18], 4
add edi, 4
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x41b5a3
mov esi, dword [ebp - 0x3c]
mov cx, word [eax]
lea esi, [ebp + esi*4 - 0x20c]
xor dl, dl
cmp byte [ebp - 2], 0x23
mov dword [esi], eax
je 0x41b6d3
cmp byte [ebp - 2], 0x2a
je 0x41b671
cmp byte [ebp - 2], 0x24
je 0x41b58c
cmp byte [ebp - 2], 0x40
je 0x41b544
cmp byte [ebp - 2], 0x3d
je 0x41b581
cmp byte [ebp - 2], dl
je 0x41b6c9
inc eax
inc eax
movzx ecx, cx
inc dl
cmp ecx, 0x2a
mov dword [ebp - 0x1c], eax
je 0x41b671
cmp ecx, 0x3d
je 0x41b581
cmp ecx, 0x40
jne 0x41b58c
xor ebx, ebx
cmp eax, ebx
je 0x41b6f8
push 4
call fcn.00470568
cmp eax, ebx
pop ecx
je 0x41b566
push dword [ebp - 0x1c]
mov ecx, eax
call fcn.0040ab8a
jmp 0x41b568
xor eax, eax
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.0040ac60
mov eax, dword [ebp - 0x1c]
jmp 0x41b6f8
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
movsx eax, dl
lea eax, [ecx + eax*2]
mov dword [esi], eax
xor ebx, ebx
inc dword [ebp - 0x3c]
cmp byte [ebp - 0x29], 0
jne 0x41b5a3
cmp dword [ebp - 0x3c], 0x64
jbe 0x41b4d3
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DllRegisterServer
push dword [ebp - 0x10]
call esi
test eax, eax
jne 0x41b5d2
cmp dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x487db2
mov byte [ebp - 1], 0xff
jge 0x41b5ce
mov dword [ebp - 0x24], 0x31
mov byte [ebp - 0xb], 1
push str._DllUnregisterServer
push dword [ebp - 0x10]
call esi
test eax, eax
jne 0x41b5fb
cmp dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x487d86
mov byte [ebp - 1], 0xff
jge 0x41b5f7
mov dword [ebp - 0x24], 0x71
mov byte [ebp - 0xb], 1
push 0x20a
lea ecx, [ebp - 0x50]
call fcn.0042e1e2
mov eax, dword [ebp + 0xc]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x210], esi
cmp word [eax], 0x23
mov dword [ebp + 0x14], ebx
jne 0x41b710
cmp word [eax + 2], si
jne 0x41b710
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00430ab3
mov ebx, dword [ebp - 0x214]
mov eax, ebx
or eax, dword [ebp - 0x210]
pop ecx
pop ecx
jne 0x41b6ff
mov al, byte [ebp - 0x11]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 8], eax
jmp 0x41ca51
cmp word [eax], 0x2a
jne 0x41b67c
inc eax
inc eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x14], eax
call fcn.0042e1c4
mov ecx, dword [ebp + 8]
xor ebx, ebx
push ebx
push 0x2c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.00425fcd
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x30]
mov dword [ebp + 0x14], ebx
call fcn.0040bce3
cmp eax, ebx
je 0x41b6b7
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x30]
mov dword [esi], eax
call fcn.00428a48
jmp 0x41b590
cmp cx, 0x23
jne 0x41b58e
cmp cx, 0x23
jne 0x41b6de
inc eax
inc eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x44]
push eax
xor ebx, ebx
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
call fcn.00430ab3
mov eax, dword [ebp - 0x44]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x41b590
cmp byte [ebp - 9], 0
mov dword [ebp + 0x14], ebx
mov byte [ebp - 1], 1
jge 0x41b710
mov byte [ebp - 9], 1
mov edi, dword [ebp + 0xc]
cmp edi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x40], esi
je 0x41b736
cmp word [edi], 0x22
jne 0x41b72a
mov dword [ebp - 0x40], 1
push edi
call fcn.0040dca1
mov edi, eax
pop ecx
mov dword [ebp + 0xc], edi
mov ax, word [edi]
cmp ax, 0x2a
jne 0x41b743
mov byte [ebp - 0x13], 1
cmp ax, si
jne 0x41b74a
xor edi, edi
cmp byte [ebp - 9], 0
jg 0x41b75e
push dword [ebp - 0x50]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp byte [ebp - 0x2a], 0
je 0x41b7b0
cmp byte [ebp - 0x13], 0
jne 0x41b7b0
cmp edi, esi
je 0x41b781
cmp word [edi], 0x2e
jne 0x41b781
cmp word [edi + 2], si
jne 0x41b781
mov eax, dword [0x49addc]
jmp 0x41b788
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp eax, esi
jne 0x41b799
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
je 0x41b79d
xor eax, eax
jmp 0x41b7a9
cmp byte [ebp - 0x11], 0
jne 0x41b799
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x41ba43
cmp byte [ebp - 0xb], 0
jle 0x41b7e9
push 0x5c
push esi
push dword [ebp + 0xc]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, esi
je 0x41b7e9
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x30]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.0043a4d7
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x30]
call fcn.00428a48
cmp ebx, esi
jne 0x41b9e6
cmp byte [ebp - 0x13], 0
jne 0x41b842
mov esi, 0x49b604
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 1], 0
jne 0x41b83b
test edi, edi
je 0x41b821
cmp word [edi], 0x2e
jne 0x41b821
cmp word [edi + 2], 0
jne 0x41b821
mov eax, dword [0x49addc]
jmp 0x41b828
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x41b833
mov byte [ebp - 1], 1
test edi, edi
jne 0x41b83b
mov byte [ebp - 1], 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 0x41b9aa
cmp byte [ebp - 0x13], bl
je 0x41b997
cmp dword [ebp - 0x40], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x218], ebx
mov esi, edi
jne 0x41b88d
cmp word [edi], 0x23
jne 0x41b88d
xor eax, eax
mov ax, word [edi + 2]
push eax
call fcn.0040fd8a
add esp, 4
test al, al
jne 0x41b897
cmp word [edi], 0x2a
jne 0x41b902
inc edi
inc edi
mov esi, edi
cmp word [edi], bx
mov eax, dword [0x49addc]
mov dword [ebp - 0x30], ebx
je 0x41b8b1
cmp word [esi], 0x23
je 0x41b8b1
inc esi
inc esi
cmp word [esi], bx
jne 0x41b8a4
mov bx, word [esi]
cmp bx, 0x23
jne 0x41b911
and word [esi], 0
cmp word [edi], 0
je 0x41b8d2
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 0x41b8f1
push 0
lea ecx, [ebp - 0x220]
push ecx
push str.EXEDATA
push esi
push eax
call fcn.004101ba
add esp, 0x14
cmp dword [ebp - 0x30], 0
je 0x41b911
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x41b911
lea eax, [ebp - 0x220]
push eax
push edi
call fcn.0040fe69
pop ecx
pop ecx
mov edi, dword [ebp - 0x220]
test edi, edi
mov ebx, dword [ebp - 0x21c]
jne 0x41b935
lea ecx, [ebp - 0x220]
mov dword [ebp - 8], 0x80004005
call fcn.00428a48
jmp 0x41b9af
push 0x18
call fcn.00470568
test eax, eax
pop ecx
je 0x41b94c
mov ecx, eax
call fcn.0040b6f8
mov esi, eax
jmp 0x41b94e
xor esi, esi
push ebx
push edi
mov ecx, esi
call fcn.0040ff87
test eax, eax
je 0x41b980
push dword [ebp - 0x10]
lea ecx, [ebp - 0x40]
call fcn.0040ab8a
push dword [eax]
mov ecx, esi
call fcn.0040b734
lea ecx, [ebp - 0x40]
mov dword [ebp + 0x14], eax
call fcn.00428a48
cmp dword [ebp + 0x14], 0
jne 0x41b987
mov dword [ebp - 8], 0x80004005
lea ecx, [ebp - 0x220]
call fcn.00428a48
mov ebx, dword [ebp + 0x14]
jmp 0x41b9e6
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x18], eax
jne 0x41b9ba
call esi
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], ebx
jne 0x41b9ba
cmp byte [ebp - 0xc], 0
jne 0x41ba05
jmp 0x41c9f7
push dword [ebp - 0x10]
lea ecx, [ebp - 0x40]
call fcn.0040ab8a
push dword [eax]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
lea ecx, [ebp - 0x40]
mov dword [ebp + 0x14], ebx
call fcn.00428a48
test ebx, ebx
jne 0x41b9e6
call esi
mov dword [ebp - 8], eax
cmp byte [ebp - 0xc], 0
je 0x41ba75
cmp byte [ebp - 1], 0
jg 0x41ba05
cmp dword [ebp - 0x18], 0
je 0x41ba05
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x11], 0
je 0x41ba10
mov esi, dword [ebp + 0x14]
jmp 0x41ba43
cmp dword [ebp + 0x14], 0
je 0x41ba2e
push dword [ebp + 0x14]
lea eax, [ebp - 0x2a4]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x2a4]
push eax
push dword [ebp - 0x28]
call fcn.0042cbf7
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x50]
call fcn.00428a48
lea ecx, [ebp - 0x48]
call fcn.00417f52
lea ecx, [ebp - 0x22c]
call fcn.00418070
lea ecx, [ebp - 0x28]
call fcn.00428a48
lea ecx, [ebp - 0x4c]
call fcn.00428a48
mov eax, esi
jmp 0x41caf6
xor esi, esi
cmp ebx, esi
mov byte [ebp + 0x17], 0
je case.default.0x41c43f
test byte [ebp - 0x24], 7
je 0x41badb
call fcn.0042c536
cmp dword [ebp - 0x24], esi
je 0x41badb
cmp dword [0x49b1b0], esi
je 0x41badb
cmp dword [0x49b1b4], esi
je 0x41badb
mov esi, 0x49b604
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 8]
mov al, byte [edi + 0x10]
test al, 2
jne 0x41bad4
test al, 1
jne 0x41bac1
mov byte [ebp + 0x17], 1
or byte [ebp + 0x17], 2
or al, 3
push 0
mov byte [edi + 0x10], al
call dword [0x49b1b0]
jmp 0x41badb
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x12], 0
je 0x41bb75
and dword [ebp + 0x10], 0
cmp byte [ebp - 2], 0x40
mov byte [ebp - 0x14], 1
jne 0x41bb0e
cmp dword [ebp - 0x20], 0
je 0x41bb0e
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x20]
lea ecx, [ebp + 0x10]
call fcn.0042e14c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x10], 0
mov esi, dword [0x49addc]
push 5
pop edi
je 0x41bb51
push 0x12
push dword [ebp - 0x10]
push str.InstallHinfSection
call fcn.0042996a
add esp, 0xc
test al, al
je 0x41bb51
mov eax, dword [ebp - 0x10]
cmp word [eax + 0x24], 0
je 0x41bb4d
mov word [eax + 0x24], 1
mov eax, dword [ebp - 0x10]
cmp word [eax + 0x26], 0
jne 0x41bb51
xor edi, edi
xor esi, esi
mov eax, dword [ebp + 8]
push edi
push dword [ebp - 0x20]
push esi
push dword [eax + 0x2c]
call fcn.00428ec2
pop ecx
push eax
call ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 8], eax
call fcn.00428a48
jmp case.default.0x41c43f
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x3c]
jne 0x41c42a
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x14], al
ja case.default.0x41bb97
jmp dword [ecx*4 + 0x41cafd]
push dword [ebp - 0x20c]
call ebx
jmp 0x41bbb7
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
pop ecx
pop ecx
jmp 0x41c9bd
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0xc
jmp 0x41c9bd
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
add esp, 0x10
jmp 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
cmp ecx, 0x14
ja 0x41bff2
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 0x41c9bd
cmp ecx, 0x1e
ja 0x41c0b9
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 0x41c9bd
cmp ecx, 0x28
ja 0x41c1bf
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 0x41c9bd
cmp ecx, 0x64
ja case.default.0x41c43f
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 0x41c9bd
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x14], al
ja case.default.0x41c43f
jmp dword [ecx*4 + 0x41cb41]
call ebx
jmp 0x41c9bd
push dword [ebp - 0x20c]
call ebx
jmp 0x41c9bd
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x41c9bd
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x41c9bd
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x41c9bd
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
push dword [ebp - 0x204]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call ebx
jmp 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 0x41c9bd
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 - 8], eax
cmp byte [ebp - 1], 0
jg 0x41c9d5
cmp dword [ebp - 0x18], 0
je 0x41c9d5
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x17], 0
je 0x41c9f7
call dword [0x49b1b4]
mov al, byte [ebp + 0x17]
mov ecx, dword [ebp + 8]
not al
and byte [ecx + 0x10], al
push 0x49b604
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 9], 0
jg 0x41ca06
push dword [ebp - 0x50]
call fcn.0040ca4b
pop ecx
mov eax, dword [ebp - 0x214]
or eax, dword [ebp - 0x210]
je 0x41ca1a
cmp byte [ebp - 9], 0
jg 0x41ca1f
call fcn.0040fecf
mov eax, dword [ebp - 0x28]
mov ax, word [eax]
test ax, ax
je 0x41ca72
cmp ax, 0x2a
je 0x41ca4b
cmp byte [ebp - 0x14], 0
je 0x41ca4b
mov eax, dword [ebp - 8]
cdq
push edx
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.0042dbdb
add esp, 0xc
and dword [ebp - 8], 0
xor esi, esi
mov ecx, dword [ebp - 0x28]
mov ax, word [ecx]
cmp ax, si
je 0x41ca72
cmp ax, 0x2a
je 0x41ca72
lea eax, [ebp - 0x2a4]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.0042cbf7
mov esi, dword [ebp - 0x34]
test esi, esi
jge 0x41ca92
mov eax, dword [ebp + esi*4 - 0x7a0]
test eax, eax
je 0x41ca8f
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00428a48
inc esi
js 0x41ca79
lea ecx, [ebp - 0x50]
call fcn.00428a48
lea ecx, [ebp - 0x48]
call fcn.00417f52
lea ecx, [ebp - 0x22c]
call fcn.00418070
lea ecx, [ebp - 0x28]
call fcn.00428a48
lea ecx, [ebp - 0x4c]
call fcn.00428a48
mov eax, dword [ebp - 8]
jmp 0x41caf6
lea ecx, [ebp - 0x48]
call fcn.00417f52
lea ecx, [ebp - 0x22c]
call fcn.00418070
lea ecx, [ebp - 0x28]
call fcn.00428a48
lea ecx, [ebp - 0x4c]
call fcn.00428a48
mov al, byte [ebp - 0x11]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
leave
ret 0x10