Function at 0xa3620
Capabilities:
Check mutex on windows
Query or enumerate registry value
Set environment variable

Disassembly:
mov eax, 0x40e4
call fcn.000a5be0
mov eax, dword [0xb2340]
xor eax, esp
mov dword [esp + 0x40e0], eax
push ebx
mov ebx, dword [esp + 0x40f0]
push ebp
mov ebp, dword [esp + 0x40f0]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
push esi
cmp ebp, 2
jne 0xa375e
mov eax, dword [ebx + 4]
mov ecx, 0xadd14
mov edx, eax
nop dword [eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0xa36a6
test si, si
je 0xa36a2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0xa36a6
add ecx, 4
add edx, 4
test si, si
jne 0xa3680
xor ecx, ecx
jmp 0xa36ab
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0xa370b
push ecx
lea eax, [esp + 0x14]
push eax
call fcn.000a1200
mov esi, eax
lea eax, [esp + 0x24]
push 1
push eax
call fcn.000a1200
add esp, 0x10
push dword [esp + 0x1c]
push dword [esp + 0x14]
push dword [0xb22c8]
push 0xadcc4
push 2
call sub.ucrtbase.dll___acrt_iob_func
add esp, 4
push eax
call fcn.000a2c50
add esp, 0x14
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40e0]
xor ecx, esp
call fcn.000a59d2
add esp, 0x40e4
ret
mov ecx, 0xadd30
mov dx, word [ecx]
cmp dx, word [eax]
jne 0xa3736
test dx, dx
je 0xa3732
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0xa3736
add ecx, 4
add eax, 4
test dx, dx
jne 0xa3710
xor eax, eax
jmp 0xa373b
sbb eax, eax
or eax, 1
test eax, eax
jne 0xa3794
mov edx, dword [esp + 0x1c]
mov dword [0xb239c], 1
mov dword [esp + 0x48], 1
mov dword [esp + 0x24], edx
jmp 0xa382e
cmp ebp, 5
jle 0xa378b
push ebp
push 0xb0dac
call fcn.000a51a0
add esp, 8
mov eax, ebp
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40e0]
xor ecx, esp
call fcn.000a59d2
add esp, 0x40e4
ret
cmp ebp, 1
jle 0xa3826
mov ecx, dword [ebx + 4]
mov eax, 0xadd38
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0xa37c6
test dx, dx
je 0xa37c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0xa37c6
add eax, 4
add ecx, 4
test dx, dx
jne 0xa37a0
xor eax, eax
jmp 0xa37cb
sbb eax, eax
or eax, 1
test eax, eax
jne 0xa3826
mov dword [0xb239c], 1
cmp ebp, 3
jle 0xa3804
mov eax, dword [ebx + 8]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x44], eax
cmp ebp, 4
jle 0xa37fa
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x24], edx
jmp 0xa382e
mov dword [esp + 0x24], 0xa7504
jmp 0xa382e
push 1
call fcn.000a2490
add esp, 4
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40e0]
xor ecx, esp
call fcn.000a59d2
add esp, 0x40e4
ret
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov ecx, dword [ebx + ebp*4 - 4]
mov eax, 0xadd40
mov dx, word [eax]
cmp dx, word [ecx]
jne 0xa385d
test dx, dx
je 0xa3859
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0xa385d
add eax, 4
add ecx, 4
test dx, dx
jne 0xa3837
xor eax, eax
jmp 0xa3862
sbb eax, eax
or eax, 1
test eax, eax
jne 0xa38ba
push 0xadd50
push eax
push eax
call dword [sym.imp.kernel32.dll_CreateMutexW]
mov ebp, eax
mov dword [esp + 0x38], ebp
test ebp, ebp
je 0xa38c2
push 0x927c0
push ebp
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0xa38a4
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0xaddb4
call fcn.000a1c30
add esp, 8
jmp 0xa38c2
cmp eax, 0x102
jne 0xa38c2
push 0xadde0
call fcn.000a1c30
add esp, 4
jmp 0xa38c2
mov dword [esp + 0x38], 0
cmp dword [0xb239c], 0
push 0
je 0xa38db
push 0
push 0
call fcn.000a23e0
add esp, 0xc
jmp 0xa38e3
call fcn.000a2170
add esp, 4
push 0x1002
call sub.ucrtbase.dll_malloc
add esp, 4
mov ebp, eax
mov dword [esp + 0x30], ebp
push 0x800
push ebp
push 0
call dword [sym.imp.kernel32.dll_GetModuleFileNameW]
test ebp, ebp
jne 0xa393b
call fcn.000a2380
push dword [ebx]
push 0xb2118
call fcn.000a51a0
push 0xffffffffffffffff
call fcn.000a2490
add esp, 0xc
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40e0]
xor ecx, esp
call fcn.000a59d2
add esp, 0x40e4
ret
push 0x21
push ebp
call sub.vcruntime140.dll_wcschr
add esp, 8
test eax, eax
jne 0xa515e
push 0x23
push ebp
call sub.vcruntime140.dll_wcschr
add esp, 8
test eax, eax
jne 0xa515e
push ebp
call fcn.000a3020
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
jne 0xa39a6
call fcn.000a2380
push esi
push 0xb2140
call fcn.000a51a0
push 0xffffffffffffffff
call fcn.000a2490
add esp, 0xc
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40e0]
xor ecx, esp
call fcn.000a59d2
add esp, 0x40e4
ret
cmp dword [0xb239c], 0
jne 0xa39bc
push 0xade08
call fcn.000a20e0
add esp, 4
lea ebp, [esp + 0x10ec]
mov dword [0xb2398], esi
xor ebx, ebx
mov ecx, esi
sub ebp, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0xa39d0
push edi
lea edi, [esp + 0x10f0]
add edi, 0xfffffffe
nop dword [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0xa39f0
mov eax, dword [0xad898]
mov edx, dword [0xb22e0]
mov esi, edx
mov dword [edi], eax
nop dword [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0xa3a10
lea edi, [esp + 0x10f0]
sub edx, esi
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0xa3a30
mov ecx, edx
lea eax, [esp + 0x10f0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0xad8e8
rep movsb byte es:[edi], byte [esi]
push eax
call sub.ucrtbase.dll__wfopen
mov esi, eax
add esp, 8
test esi, esi
je 0xa3ad8
push esi
lea eax, [esp + 0x10f4]
push 0x7ff
push eax
call sub.ucrtbase.dll_fgetws
add esp, 0xc
test eax, eax
je 0xa3ac7
lea ebx, [esp + 0x10f0]
lea ecx, [ebx + 2]
nop dword [eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0xa3a90
sub ebx, ecx
sar ebx, 1
cmp word [esp + ebx*2 + 0x10ee], 0xa
jne 0xa3ac7
lea eax, [ebx*2 - 2]
cmp eax, 0x1000
jae 0xa5190
xor ecx, ecx
dec ebx
mov word [esp + eax + 0x10f0], cx
push esi
call sub.ucrtbase.dll_fclose
add esp, 4
test ebx, ebx
jne 0xa3b74
mov ecx, dword [esp + 0x1c]
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0xa3ae0
lea edi, [esp + 0x10f0]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0xa3b00
mov eax, dword [0xad898]
lea ecx, [esp + 0x10f0]
mov dword [edi], eax
add ecx, 0xfffffffe
nop dword [eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0xa3b20
mov eax, dword [0xad8f0]
lea ebx, [esp + 0x10f0]
mov dword [ecx], eax
mov eax, dword [0xad8f4]
mov dword [ecx + 4], eax
mov eax, dword [0xad8f8]
mov dword [ecx + 8], eax
mov eax, dword [0xad8fc]
mov dword [ecx + 0xc], eax
mov eax, dword [0xad900]
mov dword [ecx + 0x10], eax
mov eax, dword [0xad904]
mov dword [ecx + 0x14], eax
lea ecx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0xa3b65
sub ebx, ecx
sar ebx, 1
lea eax, [ebx*2 + 2]
push eax
call sub.ucrtbase.dll_malloc
lea edx, [esp + 0x10f4]
mov dword [esp + 0x58], eax
mov esi, eax
mov ecx, edx
add esp, 4
sub esi, ecx
movzx ecx, word [edx]
lea edx, [edx + 2]
mov word [esi + edx - 2], cx
test cx, cx
jne 0xa3b95
push eax
push dword [0xb22c8]
push 0xade20
call fcn.000a5510
add esp, 0xc
cmp dword [0xb239c], 0
jne 0xa3bcf
push 0xade68
call fcn.000a20e0
add esp, 4
mov ebp, dword [esp + 0x1c]
mov esi, ebp
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0xa3be0
sub esi, ecx
sar esi, 1
lea eax, [esi*2 + 0x20]
push eax
call sub.ucrtbase.dll_malloc
lea ecx, [esi + 1]
mov ebx, eax
push ecx
push ebp
push ebx
call sub.ucrtbase.dll_wcsncpy
add esp, 0x10
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0xa3c10
mov eax, dword [0xad898]
lea ecx, [ebx - 2]
mov dword [edi], eax
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0xa3c26
mov eax, dword [0xada84]
mov dword [ecx], eax
mov eax, dword [0xada88]
mov dword [ecx + 4], eax
lea eax, [esp + 0x88]
push eax
push ebx
call sub.ucrtbase.dll__wstat64i32
add esp, 8
test eax, eax
je 0xa3c61
push ebx
call sub.ucrtbase.dll_free
add esp, 4
xor ebx, ebx
test ebx, ebx
jne 0xa3dad
mov esi, dword [sym.imp.advapi32.dll_RegOpenKeyExW]
lea eax, [esp + 0x10]
push eax
push 1
push ebx
push 0xada90
push 0x80000002
mov dword [esp + 0x2c], 0x1000
call esi
test eax, eax
je 0xa3cac
push eax
push 0xb1e80
call fcn.000a51a0
add esp, 8
push 0xffffffffffffffff
call fcn.000a2490
add esp, 4
jmp 0xa424a
mov edi, dword [sym.imp.advapi32.dll_RegQueryValueExW]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20f4]
push eax
push 0
push 0
push 0xadae8
push dword [esp + 0x24]
call edi
test eax, eax
je 0xa3cf9
push eax
push 0xb1ed8
call fcn.000a51a0
add esp, 8
push dword [esp + 0x10]
call dword [sym.imp.advapi32.dll_RegCloseKey]
push 0xffffffffffffffff
call fcn.000a2490
add esp, 4
jmp 0xa424a
lea eax, [esp + 0x2c]
push eax
push 1
push 0
lea eax, [esp + 0x20fc]
push eax
push dword [esp + 0x20]
call esi
test eax, eax
je 0xa3d1c
push eax
push 0xb1f38
jmp 0xa3cd8
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x1000
push eax
lea eax, [esp + 0x20f4]
push eax
push 0
push 0
push 0xadb0c
push dword [esp + 0x40]
call edi
test eax, eax
je 0xa3d54
push eax
push 0xb1f88
call fcn.000a51a0
add esp, 8
jmp 0xa3d96
lea esi, [esp + 0x20f0]
lea ecx, [esi + 2]
nop
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0xa3d60
sub esi, ecx
sar esi, 1
lea eax, [esi*2 + 2]
push eax
call sub.ucrtbase.dll_malloc
mov ebx, eax
lea eax, [esp + 0x20f4]
push esi
push eax
push ebx
call sub.ucrtbase.dll_wcsncpy
add esp, 0x10
xor eax, eax
mov word [ebx + esi*2], ax
push dword [esp + 0x2c]
mov esi, dword [sym.imp.advapi32.dll_RegCloseKey]
call esi
push dword [esp + 0x10]
call esi
jmp 0xa3f07
call fcn.000a35b0
cmp eax, 1
jne 0xa3efc
push 0xad8b4
push ebp
call fcn.000a2b40
add esp, 8
test eax, eax
je 0xa3efc
push 0xad8c8
push ebp
call fcn.000a2a70
add esp, 8
test eax, eax
je 0xa3efc
lea esi, [esp + 0xf0]
mov ecx, ebp
sub esi, ebp
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0xa3df2
lea edi, [esp + 0xf0]
add edi, 0xfffffffe
nop dword [eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0xa3e10
mov eax, dword [0xad898]
lea ecx, [esp + 0xf0]
mov dword [edi], eax
add ecx, 0xfffffffe
nop dword [eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0xa3e30
mov eax, dword [0xad8d8]
mov dword [ecx], eax
mov eax, dword [0xad8dc]
mov dword [ecx + 4], eax
mov eax, dword [0xad8e0]
mov dword [ecx + 8], eax
mov eax, dword [0xad8e4]
mov dword [ecx + 0xc], eax
lea eax, [esp + 0xf0]
push eax
push ebx
call fcn.000a54c0
add esp, 8
test eax, eax
jne 0xa3efc
mov ecx, ebp
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0xa3e80
lea edi, [esp + 0xf0]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0xa3ea0
mov eax, dword [0xad898]
lea ecx, [esp + 0xf0]
mov dword [edi], eax
add ecx, 0xfffffffe
nop dword [eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0xa3ec0
mov eax, dword [0xad8c8]
mov dword [ecx], eax
mov eax, dword [0xad8cc]
mov dword [ecx + 4], eax
mov eax, dword [0xad8d0]
mov dword [ecx + 8], eax
mov eax, dword [0xad8d4]
mov dword [ecx + 0xc], eax
lea eax, [esp + 0xf0]
push ebx
push eax
call fcn.000a54c0
add esp, 8
call sub.ucrtbase.dll__errno
mov dword [eax], 0
test ebx, ebx
jne 0xa3f1a
push 0xffffffffffffffff
call fcn.000a2490
add esp, 4
jmp 0xa424a
cmp dword [0xb239c], 0
jne 0xa3f30
push 0xade80
call fcn.000a20e0
add esp, 4
call fcn.000a1130
test eax, eax
jle 0xa514d
lea eax, [esp + 0x24]
push 0
push eax
call fcn.000a1200
add esp, 8
test eax, eax
js 0xa514d
cmp dword [esp + 0x24], 0
je 0xa514d
cmp dword [0xb239c], 0
jne 0xa3f75
push 0xade94
call fcn.000a20e0
add esp, 4
push 0xf0000000
push 1
push 0
push 0
lea eax, [esp + 0x40]
mov dword [esp + 0x24], 0
push eax
call dword [sym.imp.advapi32.dll_CryptAcquireContextW]
test eax, eax
jne 0xa409b
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0xad9a8
call fcn.000a5510
add esp, 8
cmp dword [0xb239c], 0
jne 0xa3fc5
push 0xadea4
call fcn.000a20e0
add esp, 4
lea ebp, [esp + 0xf0]
mov ecx, ebx
sub ebp, ebx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0xa3fd0
lea edi, [esp + 0xf0]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0xa3ff0
lea eax, [esp + 0x58]
mov ecx, 0xa
push eax
lea eax, [esp + 0xf4]
mov esi, 0xadb24
rep movsd dword es:[edi], dword [esi]
push eax
call sub.ucrtbase.dll__wstat64i32
add esp, 8
test eax, eax
jne 0xa402b
test dword [esp + 0x5e], 0x8000
jne 0xa4068
mov ecx, ebx
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0xa4030
lea edi, [esp + 0xf0]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0xa4050
mov ecx, 0xa
mov esi, 0xadb4c
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xf0]
push eax
call dword [sym.imp.kernel32.dll_LoadLibraryW]
test eax, eax
jne 0xa4263
push ebx
push 0xb1fd0
call fcn.000a51a0
add esp, 8
push 0xfffffffffffffffd
call fcn.000a2490
add esp, 4
jmp 0xa424a
xor eax, eax
lea edi, [esp + 0x30f0]
sub edi, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], edi
nop
lea ecx, [esp + 0xf0]
push ecx
push dword [eax*4 + 0xb1a58]
call fcn.000a2950
mov ebp, eax
add esp, 8
mov edx, ebp
lea eax, [edx + 1]
nop
mov cl, byte [edx]
inc edx
test cl, cl
jne 0xa40d0
sub edx, eax
mov ecx, ebx
lea esi, [edx - 0x20]
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edi + ecx - 2], ax
test ax, ax
jne 0xa40e0
lea edi, [esp + 0x30f0]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0xa4100
mov eax, dword [0xad898]
push esi
mov dword [edi], eax
lea eax, [esp + 0xf4]
push ebp
push eax
call sub.ucrtbase.dll_strncpy
lea ecx, [esi + ebp]
add esp, 0xc
lea edx, [esp + 0xc8]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0xa4131
cmp esi, 0x845
jae 0xa5190
mov byte [esp + esi + 0xf0], al
lea esi, [esp + 0xf0]
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0xa4160
sub esi, ecx
lea eax, [esi*4 + 2]
push eax
call sub.ucrtbase.dll_malloc
add esp, 4
lea ecx, [esi + esi]
mov ebp, eax
lea eax, [esp + 0xf0]
push ecx
push ebp
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov edx, ebp
mov esi, ebp
nop dword [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0xa41a0
lea edi, [esp + 0x30f0]
sub edx, esi
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0xa41c0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebp
call sub.ucrtbase.dll_free
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0x30f8]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.000a2680
add esp, 0x10
test eax, eax
mov eax, dword [esp + 0x40]
nop
nop
mov edi, dword [esp + 0x50]
inc eax
mov dword [esp + 0x40], eax
cmp eax, 0x5c
jl 0xa40b0
jmp 0xa421f
push 0
push dword [esp + 0x34]
call dword [sym.imp.advapi32.dll_CryptReleaseContext]
cmp dword [esp + 0x14], 0
jge 0xa3faf
push 0xb21b8
call fcn.000a51a0
push 0xfffffffffffffffe
call fcn.000a2490
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40e0]
xor ecx, esp
call fcn.000a59d2
add esp, 0x40e4
ret
push 0xadb74
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov edi, eax
test edi, edi
jne 0xa428e
push 0xb1ff8
call fcn.000a51a0
add esp, 4
push 0xfffffffffffffffd
call fcn.000a2490
add esp, 4
jmp 0xa424a
mov esi, dword [sym.imp.kernel32.dll_SetEnvironmentVariableA]
lea eax, [esp + 0xc8]
push 0
push 0xadbd4
mov dword [esp + 0xc0], 0x10006
mov byte [esp + 0xcc], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], 4
mov dword [esp + 0xd0], 0xadb88
mov dword [esp + 0xd8], 0xadb94
mov dword [esp + 0xe0], 0xadb9c
mov dword [esp + 0xe8], 0xadbb8
call esi
push 0
push 0xadbe8
call esi
lea eax, [esp + 0xb8]
push eax
push 0xb2704
push 0xb2708
call edi
test eax, eax
jns 0xa4356
push eax
push 0xb2018
call fcn.000a51a0
mov ecx, dword [0xb2704]
add esp, 8
test ecx, ecx
je 0xa4347
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x3c]
call eax
test eax, eax
je 0xa4347
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
push 0xfffffffffffffffd
call fcn.000a2490
add esp, 4
jmp 0xa424a
push 0
call sub.ucrtbase.dll_fflush
add esp, 4
cmp dword [0xb239c], 0
jne 0xa4376
push 0xadeb4
call fcn.000a20e0
add esp, 4
mov eax, dword [0xb2704]
push 0xadec4
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x18]
call eax
mov ebp, eax
mov dword [esp + 0x50], ebp
test ebp, ebp
jne 0xa43b8
push 0xfffffffffffffffc
push 0xaded4
push dword [0xb2704]
push 0xb1df0
call fcn.000a51a0
push 0xfffffffffffffffc
call fcn.000a2490
add esp, 0x14
jmp 0xa424a
mov eax, dword [0xb2704]
push 0xadedc
push 0xadf1c
push ebp
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x1c4]
call eax
mov ebx, eax
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0xa4403
push 0xfffffffffffffffb
push 0xaded4
push dword [0xb2704]
push 0xb1df0
call fcn.000a51a0
push 0xfffffffffffffffb
call fcn.000a2490
add esp, 0x14
jmp 0xa424a
cmp dword [0xb239c], 0
jne 0xa4419
push 0xadf24
call fcn.000a20e0
add esp, 4
push ebx
push ebp
call fcn.000a2c80
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0xa444f
push 0xfffffffffffffffa
push 0xadf30
push dword [0xb2704]
push 0xb1df0
call fcn.000a51a0
push 0xfffffffffffffffa
call fcn.000a2490
add esp, 0x14
jmp 0xa424a
push 0
push 0xb1ce8
call fcn.000a2950
mov ecx, dword [0xb2704]
add esp, 8
mov edi, eax
mov edx, dword [ecx]
push edi
push ecx
mov ecx, dword [edx + 0x29c]
call ecx
mov ecx, dword [0xb2704]
mov esi, eax
push ebx
push 1
push esi
push dword [esp + 0x1c]
mov edx, dword [ecx]
push ebp
push ecx
mov ecx, dword [edx + 0x1c8]
call ecx
mov ecx, dword [0xb2704]
add esp, 0x18
mov ebp, eax
mov edx, dword [ecx]
push esi
push ecx
mov ecx, dword [edx + 0x5c]
call ecx
push edi
call sub.ucrtbase.dll_free
add esp, 4
test ebp, ebp
jne 0xa44bb
push 0xffffffffffffffdc
push 0xadc1c
jmp 0xa4590
push 0
push 0xb1c30
call fcn.000a2950
mov esi, dword [esp + 0x24]
add esp, 8
mov edx, esi
mov dword [esp + 0x14], eax
lea eax, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0xa44d7
sub edx, eax
mov eax, dword [0xb2704]
sar edx, 1
push edx
push esi
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x28c]
call eax
mov ecx, dword [0xb2704]
mov edi, eax
push edi
push ebx
push dword [esp + 0x1c]
mov esi, dword [ecx]
push dword [0xb22d8]
push ebp
mov eax, dword [esi + 0x84]
push ecx
call eax
push eax
mov eax, dword [esi + 0x70]
push ebp
push dword [0xb2704]
call eax
mov ecx, dword [0xb2704]
add esp, 0x14
mov ebp, eax
mov dword [esp + 0x30], ebp
mov edx, dword [ecx]
push edi
push ecx
mov ecx, dword [edx + 0x5c]
call ecx
push dword [esp + 0x14]
call sub.ucrtbase.dll_free
add esp, 4
test ebp, ebp
jne 0xa45b2
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x3c]
call eax
test eax, eax
je 0xa4589
push eax
call fcn.000a3070
mov esi, eax
push esi
push 0xb20e8
call fcn.000a51a0
push esi
call sub.ucrtbase.dll_free
add esp, 0x10
push 0xfffffffffffffff8
call fcn.000a2490
add esp, 4
jmp 0xa424a
push 0xffffffffffffffdb
push 0xadc70
push dword [0xb2704]
push 0xb1df0
call fcn.000a51a0
add esp, 0x10
push 0xfffffffffffffff8
call fcn.000a2490
add esp, 4
jmp 0xa424a
cmp dword [0xb239c], 0
jne 0xa45c8
push 0xadf38
call fcn.000a20e0
add esp, 4
push ebp
push dword [esp + 0x58]
mov ebp, dword [esp + 0x18]
push dword [esp + 0x2c]
push dword [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x64]
push ebp
push ebx
call fcn.000a3270
add esp, 0x1c
mov dword [esp + 0x54], eax
test eax, eax
jne 0xa45ff
push 0xfffffffffffffff7
call fcn.000a2490
add esp, 4
jmp 0xa424a
mov edx, dword [esp + 0x24]
mov ecx, 0xadf50
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0xa4608
push dword [esp + 0x24]
call sub.ucrtbase.dll_free
push 0
push 0xb084c
mov dword [esp + 0x30], 0xadf50
call fcn.000a2950
mov ecx, dword [0xb2704]
add esp, 0xc
mov edi, eax
mov edx, dword [ecx]
push edi
push ecx
mov ecx, dword [edx + 0x29c]
call ecx
push dword [esp + 0x30]
mov ecx, dword [0xb2704]
mov esi, eax
push 0
push esi
push ebp
mov edx, dword [ecx]
push ebx
push ecx
mov ecx, dword [edx + 0x1c8]
call ecx
mov ecx, dword [0xb2704]
add esp, 0x18
mov dword [esp + 0x18], eax
mov edx, dword [ecx]
push esi
push ecx
mov ecx, dword [edx + 0x5c]
call ecx
push edi
call sub.ucrtbase.dll_free
mov edi, dword [esp + 0x1c]
add esp, 4
test edi, edi
jne 0xa46b3
push 0xfffffffffffffff6
push 0xadf74
push dword [0xb2704]
push 0xb1df0
call fcn.000a51a0
push 0xfffffffffffffff6
call fcn.000a2490
add esp, 0x14
jmp 0xa424a
mov eax, dword [0xb2704]
push dword [0xb22dc]
push dword [0xb22d8]
mov esi, dword [eax]
push edi
push eax
mov eax, dword [esi + 0x84]
call eax
push eax
mov eax, dword [esi + 0x70]
push edi
push dword [0xb2704]
call eax
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
jne 0xa470e
push 0xfffffffffffffff5
push 0xadf7c
push dword [0xb2704]
push 0xb1df0
call fcn.000a51a0
push 0xfffffffffffffff5
call fcn.000a2490
add esp, 0x14
jmp 0xa424a
mov edi, dword [esp + 0x20]
mov esi, 1
dec edi
cmp edi, esi
jle 0xa484d
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + esi*4]
mov eax, 0xadcd8
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0xa4756
test dx, dx
je 0xa4752
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0xa4756
add eax, 4
add ecx, 4
test dx, dx
jne 0xa4730
xor eax, eax
jmp 0xa475b
sbb eax, eax
or eax, 1
test eax, eax
je 0xa4769
inc esi
cmp esi, edi
jl 0xa4720
jmp 0xa484d
mov eax, dword [esp + 0x38]
mov esi, dword [eax + esi*4 + 4]
test esi, esi
je 0xa484d
mov eax, dword [0xb2704]
push 0xadf84
push 0xadfac
push dword [esp + 0x20]
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x84]
call eax
mov ebp, eax
test ebp, ebp
je 0xa483c
mov edi, dword [esp + 0x1c]
mov edx, edi
lea ecx, [edx + 2]
nop word [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0xa47b0
mov eax, dword [0xb2704]
sub edx, ecx
sar edx, 1
push edx
push edi
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x28c]
call eax
mov edx, esi
mov edi, eax
lea eax, [edx + 2]
nop dword [eax + eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0xa47e0
sub edx, eax
mov eax, dword [0xb2704]
sar edx, 1
push edx
push esi
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x28c]
call eax
mov ecx, dword [0xb2704]
mov esi, eax
push esi
push edi
push ebp
mov edx, dword [ecx]
push dword [esp + 0x38]
push ecx
mov ecx, dword [edx + 0xf4]
call ecx
mov eax, dword [0xb2704]
add esp, 0x14
mov ecx, dword [eax]
push edi
push eax
mov eax, dword [ecx + 0x5c]
call eax
mov eax, dword [0xb2704]
push esi
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x5c]
call eax
jmp 0xa4849
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x44]
call eax
mov ebp, dword [esp + 0x10]
push 0
push 0xb1d70
call fcn.000a2950
push 0
push 0xb1d88
mov edi, eax
call fcn.000a2950
mov ecx, dword [0xb2704]
add esp, 0x10
mov esi, eax
mov edx, dword [ecx]
push esi
push edi
push dword [esp + 0x20]
push ecx
mov ecx, dword [edx + 0x84]
call ecx
push edi
mov dword [esp + 0x18], eax
call sub.ucrtbase.dll_free
push esi
call sub.ucrtbase.dll_free
add esp, 8
cmp dword [esp + 0x14], 0
jne 0xa48c3
push 0xfffffffffffffff4
push 0xadfb4
push dword [0xb2704]
push 0xb1df0
call fcn.000a51a0
push 0xfffffffffffffff4
call fcn.000a2490
add esp, 0x14
jmp 0xa424a
cmp dword [esp + 0x3c], 0
jne 0xa490d
push 0xadd50
push 1
push 0
call dword [sym.imp.kernel32.dll_CreateMutexW]
mov esi, eax
mov dword [esp + 0x3c], esi
test esi, esi
je 0xa490d
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0xb7
jne 0xa490d
push esi
call dword [sym.imp.kernel32.dll_ReleaseMutex]
call fcn.000a2380
push 0xb2278
call fcn.000a51a0
push 0xfffffffffffffff3
jmp 0xa4242
cmp dword [0xb239c], 0
jne 0xa4928
push 0xadfbc
call fcn.000a20e0
add esp, 4
call fcn.000a20d0
mov eax, dword [0xb2704]
push 0xadfd0
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x29c]
call eax
push dword [esp + 0x30]
mov ecx, dword [0xb2704]
mov esi, eax
push 1
push esi
push ebp
mov edx, dword [ecx]
push ebx
push ecx
mov ecx, dword [edx + 0x1c8]
call ecx
mov ecx, dword [0xb2704]
add esp, 0x18
mov edi, eax
mov edx, dword [ecx]
push esi
push ecx
mov ecx, dword [edx + 0x5c]
call ecx
mov ecx, dword [0xb2704]
push ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
test eax, eax
je 0xa4999
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x44]
call eax
push edi
push dword [0xb2704]
call fcn.000a5730
mov ebx, dword [esp + 0x24]
add esp, 8
mov edx, ebx
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0xa49b1
mov eax, dword [0xb2704]
sub edx, ecx
sar edx, 1
push edx
push ebx
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x28c]
call eax
cmp dword [0xb239c], 0
mov ebp, eax
je 0xa4d8e
mov ecx, dword [0xb2704]
push 0xadff8
push ecx
mov edx, dword [ecx]
mov ecx, dword [edx + 0x18]
call ecx
mov ecx, dword [0xb2704]
mov edi, eax
push 0xae00c
push 0xae048
push edi
mov edx, dword [ecx]
push ecx
mov ecx, dword [edx + 0x1c4]
call ecx
cmp dword [esp + 0x4c], 0
mov ebx, eax
je 0xa4a3c
mov ecx, dword [0xb2704]
push 0xae054
push ecx
mov esi, dword [ecx]
mov ecx, dword [esi + 0x29c]
call ecx
push eax
push 0xae05c
jmp 0xa4b5e
mov ecx, dword [esp + 0x44]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0xa4a43
mov eax, dword [0xb2704]
sub ecx, edx
sar ecx, 1
push ecx
push dword [esp + 0x48]
mov esi, dword [eax]
push eax
mov eax, dword [esi + 0x28c]
call eax
push eax
mov eax, dword [0xb2704]
push 0xae078
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x1c8]
push ebx
push edi
push dword [0xb2704]
call eax
mov ecx, dword [esp + 0x5c]
add esp, 0x14
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0xa4aa0
mov eax, dword [0xb2704]
sub ecx, edx
sar ecx, 1
push ecx
push dword [esp + 0x4c]
mov esi, dword [eax]
push eax
mov eax, dword [esi + 0x28c]
call eax
push eax
mov eax, dword [0xb2704]
push 0xae094
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x1c8]
push ebx
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
add esp, 0x14
mov esi, dword [eax]
push 0xae054
push eax
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [0xb2704]
push 0xae0ac
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x1c8]
push ebx
push edi
push dword [0xb2704]
call eax
mov ecx, dword [esp + 0x3c]
add esp, 0x14
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0xa4b34
mov eax, dword [0xb2704]
sub ecx, edx
sar ecx, 1
push ecx
push dword [esp + 0x2c]
mov esi, dword [eax]
push eax
mov eax, dword [esi + 0x28c]
call eax
push eax
push 0xae0c8
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x1c8]
push ebx
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
add esp, 0x14
mov esi, dword [eax]
push 0xae0e7
push eax
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [0xb2704]
push 0xae0e8
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x18]
call eax
push eax
mov eax, dword [esi + 0x2b0]
push 0xb
push dword [0xb2704]
call eax
mov ecx, dword [0xb2704]
mov edi, eax
push 0xae0fc
push ecx
mov esi, dword [ecx]
mov ecx, dword [esi + 0x29c]
call ecx
push eax
mov eax, dword [esi + 0x2b8]
push 0
push edi
push dword [0xb2704]
call eax
mov ebx, dword [esp + 0x34]
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0xa4bf0
mov eax, dword [0xb2704]
sub ecx, edx
sar ecx, 1
push ecx
push ebx
mov esi, dword [eax]
push eax
mov eax, dword [esi + 0x28c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 1
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae108
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 2
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae110
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 3
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae120
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 4
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae12c
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 5
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push dword [0xb22cc]
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 6
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae130
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 7
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push dword [0xb22d0]
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 8
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae138
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 9
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push dword [0xb22d4]
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 0xa
push edi
push dword [0xb2704]
call eax
mov ebx, dword [esp + 0x1c]
jmp 0xa4fb6
mov eax, dword [0xb2704]
push 0xae0e7
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [0xb2704]
push 0xae0e8
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x18]
call eax
push eax
mov eax, dword [esi + 0x2b0]
push 0xc
push dword [0xb2704]
call eax
mov edi, eax
mov eax, dword [0xb2704]
push 0xae0fc
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 0
push edi
push dword [0xb2704]
call eax
mov ecx, dword [esp + 0x34]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0xa4df7
mov eax, dword [0xb2704]
sub ecx, edx
sar ecx, 1
push ecx
push dword [esp + 0x38]
mov esi, dword [eax]
push eax
mov eax, dword [esi + 0x28c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 1
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae108
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 2
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae110
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 3
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae13c
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 4
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae148
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 5
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae12c
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 6
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push dword [0xb22cc]
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 7
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae130
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 8
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push dword [0xb22d0]
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 9
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push 0xae138
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 0xa
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push dword [0xb22d4]
push eax
mov esi, dword [eax]
mov eax, dword [esi + 0x29c]
call eax
push eax
mov eax, dword [esi + 0x2b8]
push 0xb
push edi
push dword [0xb2704]
call eax
mov eax, dword [0xb2704]
push edi
push dword [esp + 0x58]
mov ecx, dword [eax]
push ebp
push dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
push ebp
push eax
mov eax, dword [ecx + 0xc4]
call eax
mov esi, eax
add esp, 0x18
test esi, esi
jns 0xa4ff0
push 0xb20a0
call fcn.000a51a0
add esp, 4
jmp 0xa5116
cmp esi, 0xd
jne 0xa50f8
push esi
push 0xb21fc
call fcn.000a51a0
add esp, 8
cmp dword [esp + 0x4c], 0
jne 0xa507c
test esi, esi
jne 0xa507c
call fcn.000a35b0
cmp eax, 1
jne 0xa507c
push 0xad8b4
push ebx
call fcn.000a2b40
add esp, 8
test eax, eax
je 0xa507c
mov eax, dword [esp + 0x38]
push 0xadd40
mov dword [esp + 0xc0], 0xadd30
mov dword [esp + 0xc4], esi
mov eax, dword [eax]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xbc]
push eax
push 2
call fcn.000a52f0
add esp, 0xc
test eax, eax
jne 0xa507c
call sub.ucrtbase.dll__errno
push dword [eax]
push 0xae16c
call fcn.000a1c30
add esp, 8
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0xa5092
push ebx
call dword [sym.imp.kernel32.dll_ReleaseMutex]
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [0xb2704]
push 0xae194
push 0xae19c
push dword [esp + 0x20]
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x84]
call eax
mov edx, eax
test edx, edx
je 0xa50cd
mov ecx, dword [0xb2704]
push esi
push edx
push ebp
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0xf4]
call eax
add esp, 0x10
push 0xae1a0
call fcn.000a5510
mov ecx, dword [0xb2708]
add esp, 4
test ecx, ecx
je 0xa50ec
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0xc]
call eax
call fcn.000a2380
xor eax, eax
jmp 0xa424a
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x3c]
call eax
test eax, eax
je 0xa5116
mov eax, dword [0xb2704]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
cmp esi, 0x17
jne 0xa5007
push 0xadd40
push dword [esp + 0x3c]
push dword [esp + 0x28]
call fcn.000a52f0
add esp, 0xc
test eax, eax
jne 0xa507c
call sub.ucrtbase.dll__errno
push dword [eax]
push 0xae14c
jmp 0xa5074
push 0xb2170
call fcn.000a51a0
push 0xffffffffffffffff
jmp 0xa4242
call fcn.000a2380
push ebp
push 0xb2230
call fcn.000a51a0
push 0xffffffffffffffff
call fcn.000a2490
mov ecx, dword [esp + 0x40f8]
add esp, 0xc
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.000a59d2
add esp, 0x40e4
ret
call fcn.000a5b04
int3