Function at 0x44ac21
Capabilities:
Terminate process

Disassembly:
push 0x4d4
mov eax, 0x48bf40
call fcn.0047ec24
mov edi, ecx
mov dword [ebp - 0x438], edi
cmp byte [0x5a301b], 0
je 0x44b398
xor ebx, ebx
lea eax, [ebp - 0x4e0]
push 0x40
push ebx
push eax
mov byte [ebp - 0x439], bl
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 0xc]
lea esi, [ebp - 0x4e0]
add esp, 0xc
mov dword [ebp - 0x44c], esi
test eax, eax
je 0x44ac7b
lea esi, [eax + 0x10]
mov dword [ebp - 0x44c], esi
mov edx, dword [edi]
lea eax, [ebp - 0x439]
push eax
push dword [edi + 0x14]
mov ecx, esi
push dword [edi + 0x10]
push dword [edi + 0x28]
call fcn.0044b5b0
test al, al
je 0x44afe0
mov ecx, edi
mov byte [edi + 0x2c], bl
call fcn.0044bd11
mov ecx, eax
mov dword [ebp - 0x458], ecx
test ecx, ecx
je 0x4a8353
cmp dword [esi + 4], 1
jne 0x44af0b
cmp dword [edi + 4], ebx
je 0x44af0b
mov eax, dword [ecx]
lea edx, [ebp - 0x454]
push edx
push 0x401b34
push ecx
mov dword [ebp - 0x454], ebx
call dword [eax]
test eax, eax
js 0x4a83d7
cmp dword [ebp - 0x454], ebx
je 0x4a83de
mov ecx, dword [ebp - 0x458]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x440], ebx
mov dword [ebp - 4], ebx
lea edx, [ebp - 0x440]
mov ecx, dword [ebp - 0x454]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x34]
test eax, eax
js 0x4a836f
mov dword [ebp - 0x444], ebx
mov byte [ebp - 4], 1
lea edx, [ebp - 0x444]
mov eax, dword [ebp - 0x440]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x4a83c4
mov eax, ebx
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 2
mov dword [ebp - 0x45c], ebx
mov esi, dword [ebp - 0x444]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x450], ecx
test eax, eax
je 0x44ad82
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x430], ebx
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x430]
push eax
push 1
push esi
call ecx
test eax, eax
js 0x44aea4
mov eax, dword [ebp - 0x430]
test eax, eax
je 0x44aeaa
mov byte [ebp - 0x429], bl
lea edx, [ebp - 0x434]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x4a836f
mov eax, dword [ebp - 0x430]
lea edx, [ebp - 0x45c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
js 0x4a836f
mov eax, dword [ebp - 0x430]
lea edx, [ebp - 0x429]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
js 0x4a836f
mov al, byte [ebp - 0x429]
cmp al, 2
je 0x44af74
cmp dword [ebp - 0x434], 0xffffffff
jne 0x44af74
cmp al, 0x69
je 0x44af74
cmp al, 3
jne 0x44af74
mov dword [ebp - 0x438], ebx
mov byte [ebp - 4], al
lea edx, [ebp - 0x438]
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x448], ebx
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
test eax, eax
js 0x4a836f
mov eax, dword [ebp - 0x438]
lea edx, [ebp - 0x460]
push edx
lea edx, [ebp - 0x448]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x4a836f
push 8
push 0x401ba8
push dword [ebp - 0x448]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44af56
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x438]
test eax, eax
je 0x44aea4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x430]
mov dl, byte [ebp - 0x439]
test dl, dl
jne 0x4a839c
mov cl, bl
mov esi, dword [ebp - 0x44c]
mov byte [esi + 0x1c], cl
test dl, dl
jne 0x4a83b0
mov byte [esi + 0x1d], bl
mov byte [ebp - 4], 6
test eax, eax
je 0x44aedc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x444]
test eax, eax
je 0x44aef0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x440]
test eax, eax
je 0x44af07
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 4]
mov ecx, eax
sub ecx, 1
jne 0x44af9c
mov cl, byte [esi + 0x1c]
test cl, cl
jne 0x4a83e5
mov ecx, eax
sub ecx, 1
jne 0x44afbe
mov cl, byte [esi + 0x1c]
test cl, cl
jne 0x4a83f6
sub eax, 1
jne 0x44af7f
mov al, byte [esi + 0x1d]
test al, al
jne 0x44b44c
mov eax, dword [ebp - 0x458]
call fcn.0047ebd3
ret
mov dword [ebp - 0x45c], ebx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x438]
test eax, eax
je 0x44af70
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x430]
jmp 0x44ad5b
sub eax, 1
je 0x44af92
sub eax, 1
je 0x44af4a
sub eax, 1
jne 0x44b422
mov eax, dword [esi + 0x28]
shr eax, 3
and al, 1
jmp 0x44af42
sub ecx, 1
je 0x44afb3
sub ecx, 1
je 0x44af24
sub ecx, 1
jne 0x44b430
mov cl, byte [esi + 0x28]
and cl, 1
jmp 0x44af1c
sub ecx, 1
je 0x44afd5
sub ecx, 1
je 0x44af3a
sub ecx, 1
jne 0x44b43e
mov cl, byte [esi + 0x28]
and cl, 1
jmp 0x44af32
mov byte [edi + 0x2c], 1
cmp byte [edi + 0x25], bl
jne 0x4a83ef
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x430], ecx
test dword [edx + 0x14c], 0x200
mov dword [ebp - 0x458], ecx
jne 0x4a83ef
mov eax, dword [0x5a303c]
cmp eax, 6
jne 0x4a8419
test byte [edx + 0x14c], 0x40
je 0x44b3f5
cmp dword [0x5a3524], ebx
je 0x44b3ae
mov edx, dword [esi + 4]
cmp edx, 4
jne 0x44b04d
cmp byte [esi + 0x38], bl
jne 0x4a8433
mov eax, edx
mov byte [ebp - 0x429], bl
sub eax, 1
jne 0x44b36d
mov ah, byte [esi + 0x1c]
mov al, bl
mov byte [ebp - 0x429], al
test ah, ah
jne 0x4a8440
sub edx, 1
jne 0x44b349
mov al, byte [esi + 0x1d]
test al, al
jne 0x44b465
mov eax, dword [0x5a303c]
cmp eax, 5
je 0x4a84cc
cmp eax, 1
je 0x4a84cc
test byte [esi + 0x28], 4
jne 0x4a84dd
test byte [esi + 0x28], 2
push 0
pop eax
setne al
inc eax
mov edx, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x434]
push eax
call fcn.004583e5
mov al, byte [ebp - 0x429]
cmp byte [0x5a3011], bl
je 0x44b3e6
mov cl, 1
mov byte [0x5a3011], cl
cmp byte [0x5a30e0], bl
jne 0x4a84e5
mov cl, bl
test al, al
jne 0x4a84e5
mov byte [0x5a30e0], cl
movzx ecx, al
add ecx, ecx
mov dword [ebp - 0x444], ecx
cmp byte [0x5a1105], bl
jne 0x44b47d
push dword [edi]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edx, eax
mov byte [ebp - 0x429], bl
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x454], edx
test eax, eax
je 0x44b140
mov ecx, dword [eax + 0x9c]
test byte [ecx + 0x38], 0x10
je 0x4a850c
push 0x4034c0
push 0x5a3600
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
push eax
lea ecx, [ebp - 0x4a0]
call fcn.0046a2f2
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x430]
mov al, byte [eax + 0x14c]
and al, 0x40
mov dword [ebp - 0x450], ebx
neg al
sbb al, al
and byte [ebp - 0x48c], al
cmp byte [ebp - 0x429], 0
jne 0x4a8598
test ecx, ecx
je 0x4a8598
mov edi, dword [0x5a3524]
mov eax, dword [edi]
lea edi, [ebp - 0x450]
push edi
push 0x5a4450
push dword [ebp - 0x444]
mov esi, dword [eax + 0x2c]
mov eax, ecx
mov ecx, dword [ebp - 0x434]
mov edi, dword [0x5a3524]
cdq
push edx
movzx ecx, word [ecx + 0x40]
push eax
mov eax, dword [ebp - 0x44c]
push dword [eax]
mov eax, dword [ebp - 0x438]
push dword [eax + 0x10]
push ecx
push dword [ebp - 0x454]
push edi
call esi
cmp byte [0x5a1105], 0
mov edi, eax
jne 0x44b48a
mov esi, dword [ebp - 0x430]
test esi, esi
je 0x4a85dd
push ecx
lea eax, [ebp - 0x428]
mov ecx, esi
push eax
call fcn.0046ceb6
push eax
lea ecx, [ebp - 0x4a0]
call fcn.0046a13b
test edi, edi
js 0x4a876a
push dword [ebp - 0x454]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
je 0x44b299
mov edi, dword [ebp - 0x434]
test dword [edi + 0x14c], 0x400
jne 0x4a85ea
mov eax, dword [ebp - 0x450]
mov ecx, dword [edi + 0x150]
and ecx, 0x2000000
cmp byte [ebp - 0x429], 0
jne 0x4a8651
test ecx, ecx
jne 0x4a8617
inc dword [0x5a2f68]
test al, 2
je 0x44b289
inc dword [0x5a2f6c]
test al, 4
jne 0x4a863b
test al, 0x18
jne 0x4a8646
mov ecx, dword [0x5a4450]
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x448], ebx
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x448]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x24]
test eax, eax
js 0x44b325
mov dword [ebp - 0x438], ebx
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x438]
mov eax, dword [ebp - 0x448]
push edx
push 0x4034d8
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x4a865c
mov eax, dword [ebp - 0x438]
test eax, eax
je 0x4a865c
push ecx
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp - 0x438]
test eax, eax
je 0x44b30c
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
call fcn.00463ee5
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x438]
test eax, eax
je 0x44b325
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x448]
test eax, eax
je 0x44b339
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x4a0]
call fcn.00469f61
jmp 0x44af4a
sub edx, 1
je 0x44b360
sub edx, 1
je 0x44b085
sub edx, 1
jne 0x44b4ca
mov eax, dword [esi + 0x28]
shr eax, 3
and al, 1
jmp 0x44b07d
sub eax, 1
je 0x44b38b
sub eax, 1
jne 0x44b382
mov byte [ebp - 0x429], bl
jmp 0x44b071
sub eax, 1
jne 0x44b4d8
mov al, bl
mov ah, byte [esi + 0x28]
and ah, 1
jmp 0x44b069
call fcn.00473305
call fcn.00472f8e
mov byte [0x5a301b], 1
jmp 0x44ac45
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x434]
push esi
call fcn.00473a46
mov ecx, dword [ebp - 0x430]
mov dword [0x5a3b50], ebx
mov dword [0x5a3b58], ebx
mov dword [0x5a3b54], ebx
mov dword [0x5a3b5c], ebx
mov dword [0x5a3b60], ebx
jmp 0x44b03c
mov cl, bl
test al, al
je 0x44b0d5
jmp 0x44b0d7
push 0x1793
push ecx
call fcn.0042fff6
pop ecx
pop ecx
xor dl, dl
mov cl, 1
call fcn.00457243
push ebx
push ebx
push ebx
push ebx
mov edx, 0x404f70
xor cl, cl
call fcn.004708d7
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
sub eax, 1
je 0x44af3f
jmp 0x44af4a
sub ecx, 1
je 0x44af19
jmp 0x44af24
sub ecx, 1
je 0x44af2f
jmp 0x44af3a
cmp byte [0x5a359c], 0
mov byte [0x5a3012], 1
je 0x44af4a
jmp 0x4a8402
mov byte [0x5a3012], 1
cmp byte [0x5a359c], bl
je 0x44b085
jmp 0x4a84b8
test al, al
je 0x44b110
jmp 0x4a84ec
push 0x5a3b30
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebp - 0x430]
test esi, esi
je 0x44b4e6
push ecx
lea eax, [ebp - 0x428]
mov ecx, esi
push eax
call fcn.0046ceb6
push eax
lea ecx, [ebp - 0x4a0]
call fcn.0046a13b
push 0x5a3b30
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x44b224
sub edx, 1
je 0x44b07a
jmp 0x44b085
sub eax, 1
je 0x44b05e
jmp 0x44b377
mov eax, dword [ebp - 0x438]
mov eax, dword [eax]
jmp 0x44b4ae
cmp byte [0x5a4ed4], bl
jne 0x4a83ef
push 0x3e8
push dword [edi + 0xc]
jmp 0x4a836a
push esi
call fcn.0052bb8a
mov ecx, eax
call fcn.004fd165
jmp 0x4a837e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x4d3
jmp 0x4a838a
push 0x50b
push dword [edi + 4]
jmp 0x4a8397
mov eax, dword [ebp - 0x438]
push dword [eax]
call fcn.0047dc0b
test byte [ebp - 0x45c], 8
mov cl, 1
je 0x44aeba
jmp 0x44aeb8
test byte [ebp - 0x45c], 8
je 0x44aecb
mov bl, 1
jmp 0x44aecb
mov ecx, eax
call fcn.004fd165
mov eax, dword [ebp - 0x440]
test eax, eax
je 0x4a837e
jmp 0x4a8378
mov ecx, eax
call fcn.004fd165
push 0x4d1
jmp 0x4a838a
cmp byte [edi + 0x26], 0
je 0x44af24
xor eax, eax
jmp 0x44af50
mov byte [0x5a30e2], 1
jmp 0x44af3a
mov eax, dword [edi + 0xc]
push 0x10a8
push dword [eax + 8]
call fcn.004fd88b
pop ecx
pop ecx
jmp 0x44af4a
cmp eax, 5
jne 0x44b030
cmp byte [edx + 0x1e9], bl
je 0x44b030
jmp 0x44b023
mov al, 1
mov byte [ebp - 0x429], al
jmp 0x44b38d
cmp byte [edi + 0x26], bl
jne 0x4a83ef
mov byte [0x5a30e2], 1
test al, al
jne 0x4a84a2
cmp byte [0x5a3005], bl
jne 0x4a8480
cmp byte [0x5a3006], bl
jne 0x4a8480
mov eax, dword [ebp - 0x434]
mov eax, dword [eax + 0x238]
and eax, 0x100000
or eax, ebx
je 0x44b071
mov eax, 0x426e4c
jmp 0x4a8485
mov eax, 0x426e34
push eax
push 0x515
push dword [edi + 4]
jmp 0x4a849d
mov eax, 0x41cb0c
push eax
push 0x516
push dword [edi]
call fcn.0047dc0b
mov eax, dword [esi + 0x28]
test al, 4
jne 0x44b071
test al, 2
mov eax, 0x41abfc
jne 0x4a8495
jmp 0x4a8490
push 0x10a8
push dword [ecx + 8]
call fcn.004fd88b
pop ecx
pop ecx
jmp 0x44b085
cmp byte [ebp - 0x429], bl
je 0x44b09c
jmp 0x4a8385
push 3
pop eax
jmp 0x44b0b1
mov cl, 1
jmp 0x44b0f3
cmp byte [0x5a4454], bl
jne 0x4a8500
call fcn.004ed331
mov byte [0x5a4454], 1
mov ecx, dword [edi]
call fcn.004e707a
jmp 0x44b110
mov ecx, dword [0x5a3524]
lea esi, [ebp - 0x440]
push esi
push dword [ebp - 0x444]
mov esi, dword [ebp - 0x44c]
mov eax, dword [ecx]
mov dword [ebp - 0x440], ebx
push dword [esi]
push dword [edi + 0x10]
push edx
push ecx
call dword [eax + 0x28]
cmp eax, 0x80004001
je 0x44b140
test eax, eax
js 0x4a8581
mov byte [ebp - 0x429], 1
cmp dword [ebp - 0x440], ebx
je 0x44b140
push dword [ebp - 0x440]
mov edx, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x434]
call fcn.004e4cd8
mov eax, dword [ebp - 0x440]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x44b140
mov ecx, eax
call fcn.004fd165
push 0x470
push dword [ebp - 0x430]
jmp 0x4a836a
mov edi, dword [0x5a3524]
push 0x5a4450
push dword [ebp - 0x444]
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov eax, ecx
mov ecx, dword [ebp - 0x434]
cdq
push edx
push eax
mov eax, dword [ebp - 0x44c]
movzx ecx, word [ecx + 0x40]
push dword [eax]
mov eax, dword [ebp - 0x438]
push dword [eax + 0x10]
push ecx
push dword [ebp - 0x454]
push edi
call esi
jmp 0x44b1ec
mov eax, dword [ebp - 0x438]
mov eax, dword [eax]
jmp 0x44b218
cmp byte [ebp - 0x429], 0
jne 0x44b252
mov eax, dword [ebp - 0x450]
test al, 1
jne 0x44b258
push 0x10a1
push esi
call fcn.0052bce6
pop ecx
pop ecx
jmp 0x44b252
test al, 0x20
je 0x44b279
lea eax, [ebp - 0x458]
mov ecx, 0x5a4b44
push eax
call fcn.0052c528
mov eax, dword [ebp - 0x450]
jmp 0x44b279
inc dword [0x5a2f70]
jmp 0x44b291
inc dword [0x5a2f74]
jmp 0x44b299
inc dword [0x5a2f64]
jmp 0x44b299
mov eax, dword [ebp - 0x448]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x448]
lea edx, [ebp - 0x44c]
push edx
lea edx, [ebp - 0x434]
mov dword [ebp - 0x434], ebx
push edx
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x4a875e
cmp dword [ebp - 0x44c], 1
jne 0x44b311
push dword [ebp - 0x434]
call dword [0x5a30e4]
pop ecx
mov ecx, dword [ebp - 0x434]
call fcn.004562c9
cmp byte [0x5a3006], 0
mov edi, eax
mov eax, dword [0x5a3b54]
mov dword [ebp - 0x444], eax
je 0x4a871e
mov ecx, dword [ebp - 0x434]
mov edx, ecx
mov esi, dword [0x5a4f04]
mov ax, word [edx]
cmp ax, word [esi]
jne 0x4a8701
test ax, ax
je 0x4a86fd
mov ax, word [edx + 2]
cmp ax, word [esi + 2]
jne 0x4a8701
add edx, 4
add esi, 4
test ax, ax
jne 0x4a86db
mov eax, ebx
jmp 0x4a8706
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4a8724
mov edx, ecx
mov ecx, 0x5a3b50
call fcn.00464617
cmp eax, dword [ebp - 0x444]
jae 0x4a873c
mov ecx, dword [ebp - 0x434]
call fcn.00458bd9
test al, al
je 0x4a8742
push ebx
push 1
push ebx
push ecx
mov edx, 0x428d48
call fcn.0051c18c
mov ecx, dword [ebp - 0x434]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
je 0x4a8668
push edi
call dword [sym.imp.tbbmalloc.dll_scalable_free]
pop ecx
jmp 0x4a8668
mov ecx, eax
call fcn.004fd165
jmp 0x44b311
mov ecx, edi
call fcn.004fd165
push 0x3e8
test esi, esi
je 0x4a838f
jmp 0x4a8369