Function at 0x443c1b
Capabilities:
Accept command line arguments
Authenticate hmac

Disassembly:
sub edi, eax
or edi, 0x5a
mov ebx, 0x25
add eax, edi
xor eax, eax
add eax, 0x462
cmp eax, 0x7fc
je 0x443068
sub eax, dword [0x46d3dd]
shr eax, 1
mov edi, 0x1876
imul eax, edi, 0x21
mov ecx, eax
sub dword [0x46d477], ecx
sub eax, 0x4a
jmp 0x443045
mov esi, ebx
sub eax, esi
add esi, ebx
dec eax
push 0x76
push 0x29
push 0x56
push 0x17
push 0x5f
push 0x49
push 0x36
push 0x16
push 0x45
push 0x24
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, esi
add eax, 0x7e1
shl cl, 7
add byte [eax], al
push eax
mov esi, 0xd5b
or eax, esi
test eax, 0x263c
jne 0x4430c7
dec eax
mov esi, 0x24fd
xor esi, eax
or eax, dword [0x46d422]
jne 0x4430db
and eax, 0xffffff
pop dword [0x46d5e6]
add dword [0x46d0d9], eax
sub eax, 0x4a
jmp 0x443080
sub ebx, 1
mov edi, 0x201
rol edi, 1
push edi
pop dword [0x46d3fd]
sub dword [0x46d014], edi
pop esi
push ebp
jnp 0x4430b2
and byte [eax + 0x4a16509f], bl
leave
push ss
sbb byte [ecx - 0x639d5208], bl
dec esi
xchg dword [0x3df81769], ebp
or bh, byte [ebx + 0x62b96c]
add byte [eax], al
or ecx, 0x44
lea edx, [edi + 6]
add edi, edx
mov ebx, edx
mov edi, ecx
ror edi, 1
sub edi, 0xfc5
je 0x443148
shr edi, 2
sub dword [0x46d41c], edi
mov edi, ecx
mov esi, 0x1510
xor esi, edi
test dword [0x46d14f], edi
je 0x44316d
and edi, 0xf
mov ebx, 0x707
imul edi, ebx, 0x1c
push edi
pop dword [0x46d480]
mov dword [0x46d271], edi
out dx, al
sal bh, 0x6f
test byte [edx + edx*2 + 0x5b86971c], al
dec esp
sti
xor ch, bl
xchg ecx, eax
imul eax, dword [esi + ebp]
sal dword [eax], 0xed
cmc
cmc
loopne 0x4431cb
lea ebx, [0x4b]
add edx, esi
sub edi, edx
add edx, ebx
xor edx, edx
add edx, 0x787
or edx, dword [0x46d23a]
jne 0x4431bc
shr edx, 7
mov edi, 0x1ee0
or edx, edi
inc edx
push edx
pop dword [0x46d3bb]
sub dword [0x46d634], edx
push eax
call 0x443196
add ebx, ecx
mov ebx, ecx
add ebx, edx
add edi, ecx
mov eax, edx
add esi, edx
mov esi, ebx
mov ecx, ebx
sub edi, ebx
sub edi, esi
mov edx, 0xc8
or esi, 0x65
inc edx
inc ecx
add edx, esi
add esi, ecx
dec edx
push ebp
mov ebp, esp
sub esp, 0xc
push edx
mov eax, 0
sub eax, dword [ebp + 8]
push eax
sub eax, dword [0x46d234]
mov esi, eax
pop dword [0x46d364]
mov dword [0x46d5b7], esi
lea eax, [esi + 0x86]
sub eax, dword [ebp + 8]
test dword [str.__e_a_f_b_t_f_b_tI__], eax
jne 0x44323c
sub eax, 0x732
mov esi, 0x25d7
add eax, esi
mov esi, 0x5a2
or eax, esi
mov dword [0x46d3d1], eax
mov eax, 0
dec eax
mov ecx, eax
sub ecx, 0xfd0
push ecx
pop dword [0x46d59a]
add dword [0x46d42d], ecx
mov esi, edi
sub esi, dword [0x46d437]
sub esi, 0xfd6
jne 0x44326f
ror esi, 1
dec esi
mov eax, 0x24ea
sub esi, eax
or esi, dword [0x46d2c4]
je 0x44328e
sub esi, dword [ebp + 8]
sub esi, 0x4c0
mov eax, 0x1c61
add esi, eax
sub dword [0x46d1e9], esi
push 0xc6
pop esi
mov eax, 0x23a0
imul esi, eax, 0x54
test dword [0x46d5b0], esi
je 0x4432ad
shl esi, 7
mov eax, 0x69a
add esi, eax
or esi, 0x547
jne 0x4432cc
mov eax, 0x23fe
or esi, eax
shr esi, 6
add esi, 0xb4
rol esi, 2
test dword [0x46d60a], esi
jne 0x4432d9
ror esi, 1
add dword [0x46d656], esi
cmp edx, 0x3de
pop edx
sete al
mov esp, ebp
pop ebp
ret 8
mov dword [0x46d474], 0
mov eax, dword [0x46d474]
mov esi, 0
mov edx, esi
push edx
mov edi, 0xdc133
add edi, 0x3910a7
push edi
mov dword [0x46d44f], 0
mov esi, dword [0x46d44f]
push esi
call dword [sym.imp.USER32.DLL_GetClassInfoA]
mov dword [0x46d032], eax
xor eax, eax
push 0x51
pop esi
sub esi, 0xcb0
test dword [0x46d32c], esi
jne 0x443c7f
shl esi, 6
and esi, 0xf
sub esi, dword [0x46d26e]
add dword [0x46d383], esi
push 0x988
pop ebp
and ebp, 0xff
add ebp, 0x551
jne 0x443ca0
and ebp, 0xffffff
inc ebp
dec ebp
push ebp
pop dword [0x46d396]
add dword [0x46d29f], ebp
mov edi, 0x61
sub edi, 0xbcc6b9b1
jne 0x44475b
mov dword [0x46d0e2], eax
mov ebx, 0
shr ebx, 3
test dword [0x46d353], ebx
je 0x443cdd
shl ebx, 1
mov edi, 0x18fc
xor edi, ebx
add dword [0x46d0f3], ebx
mov eax, edi
shr eax, 1
test eax, 0xbc0
jne 0x443cef
dec eax
inc eax
push eax
pop dword [0x46d272]
sub dword [0x46d064], eax
xor esi, esi
add esi, dword [0x46d044]
mov ecx, esi
sub ecx, 0x521
test ecx, 0x2134
je 0x443d16
dec ecx
mov ebx, 0x699
sub ecx, ebx
cmp ecx, 0x245
jne 0x443d2a
shr ecx, 1
rol ecx, 8
sub dword [0x46d565], ecx
mov ebp, 0xa2d
mov eax, 0xe10
add ebp, eax
test dword [0x46d094], ebp
je 0x443d55
mov edi, 0x8da
xor edi, ebp
shl ebp, 1
mov ebx, 0x1fd2
imul ebp, ebx, 0x1b
shl ebp, 4
sub ebp, 0xef1
je 0x443d66
add ebp, 0x33a
sub dword [0x46d32b], ebp
leave
ret
push ebp
mov ebp, esp
sub esp, 0x20
push edi
push esi
push 0xcfe2
push dword [0x46d42c]
push 0x46d1be
lea eax, [0x46d1f0]
push eax
push dword [0x46d454]
call fcn.00443b94
mov eax, 0x2f
sub eax, 0x383
add eax, 0x5fd
je 0x444797
and eax, 0xfffff
push eax
add eax, 0xd41
or eax, dword [0x46d1ed]
je 0x4447b2
inc eax
sub eax, 0x45d
pop dword [0x46d22d]
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.gdi32.dll_CreateDCW]
lea ebx, [edi + ebp + 0x1b9d]
mov edi, 0x2037
add ebx, edi
test dword [ebp - 0x20], ebx
je 0x4447ee
mov edi, 0x13c0
imul ebx, edi, 0x26
rol ebx, 2
mov eax, 0x428
sub ebx, eax
mov esi, 0x2510
imul ebx, esi, 0xd
or ebx, dword [0x46d1e0]
jne 0x44480b
and ebx, 0xf
add ebx, 0x565
dec ebx
mov dword [0x46d3b6], ebx
push dword [0x46d6b8]
push 0x579e
push 0x8b48
call fcn.00443848
or al, al
je 0x444831
mov dword [ebp - 0xc], ebx
sub eax, esi
sub edi, ebx
mov dword [0x46d41e], eax
xor ebx, ebx
sub ebx, dword [0x46d075]
sub ebx, 0xf2a
je 0x444849
shl ebx, 7
sub ebx, dword [0x46d24b]
or ebx, dword [0x46d4b0]
jne 0x44485e
mov esi, 0x1281
sub ebx, esi
dec ebx
push ebx
pop dword [0x46d64b]
mov dword [0x46d541], ebx
push 0
push 0
push 0x80000003
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyW]
push 0
push 0
push 0
push 0
call dword [sym.imp.gdi32.dll_CreateDCW]
lea eax, [0x46d144]
push eax
push dword [0x46d2ae]
push 0
push 0x805b
push 0xa5a3
call fcn.00443b94
mov edi, 0
shr edi, 1
push edi
pop dword [0x46d0a0]
mov dword [ebp - 0x20], edi
lea eax, [0x46d650]
push eax
lea eax, [0x46d274]
push eax
push esi
push 0xce45
call fcn.004433d6
push 0xf2
pop esi
dec esi
or dword [ebp - 0x14], esi
jne 0x4448e6
add esi, 0x126
shr esi, 2
and esi, 0xff
mov ebx, esi
mov dword [ebp - 0x18], ebx
lea ebx, [edi + 0x9f]
mov eax, 0x2246
sub ebx, eax
test dword [ebp - 0x1c], ebx
jne 0x44490b
mov esi, 0x1242
imul ebx, esi, 0x14
sub dword [0x46d37c], ebx
mov dword [ebp - 0x14], 0x1e
sub ebx, esi
or al, al
neg edi
push 0
push 0x46d25e
call 0x4431f3
or al, al
jne 0x444937
add ebx, 2
add ebx, esi
inc edi
push 0
push 0
push 0x80000001
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyW]
push 0
push 0
push 0x80000002
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyW]
mov esi, 0xa15
sub eax, esi
test eax, 0x38b
jne 0x44496b
ror eax, 1
sub eax, 0xae9
mov dword [ebp - 0x20], eax
mov ebx, 0x16
or eax, 0x73
push edi
call fcn.00443752
mov ebx, edi
push ebx
dec ebx
mov edi, ebx
pop dword [0x46d27b]
add dword [0x46d3b6], edi
push 0
push 0
push 0
push 0
call dword [sym.imp.gdi32.dll_CreateDCW]
lea eax, [0x46d147]
push eax
push 0x46d27d
push 0x46d5f7
push 0x6fe
push 0
call fcn.00443b94
lea ebx, [esi + 0x9e]
dec ebx
add ebx, 0xb3e
jne 0x4449cf
mov eax, 0x120d
xor eax, ebx
and ebx, 0xffff
push ebx
mov edi, 0x1c8d
or ebx, edi
add ebx, 0xf6f
je 0x4449ed
shl ebx, 1
add ebx, 0xe64
pop dword [0x46d4c8]
mov dword [0x46d460], ebx
mov edi, 0
dec edi
push edi
pop dword [0x46d57a]
add dword [0x46d0c5], edi
lea eax, [0x46d5ad]
push eax
lea eax, [0x46d6cd]
push eax
push 0
lea edx, [1]
add edx, edi
dec edx
lea eax, [0x46d3e4]
push eax
push edi
call fcn.00443b94
mov ebx, 0xa80
or eax, ebx
push eax
mov ebx, 0x2258
add eax, ebx
add eax, 0xd22
jne 0x444a56
dec eax
mov esi, 0x212e
xor esi, eax
sub eax, dword [0x46d324]
mov esi, eax
pop dword [0x46d227]
mov dword [0x46d3f6], esi
mov edx, ebx
mov dword [ebp - 0x1c], edx
push 0x896f
push dword [0x46d451]
push 0xfce2
push 0x46d39d
push 0
call fcn.00443b94
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
push ecx
mov dword [ebp - 0x1c], 0xa8
mov edi, dword [ebp - 0x1c]
push edi
mov eax, 5
mov ebx, eax
push ebx
call dword [sym.imp.gdi32.dll_GetEnhMetaFileDescriptionA]
inc eax
jne 0x4431a0
lea eax, [0x46d61e]
push eax
push ebx
push 0x46d014
call fcn.004436a4
mov ecx, 0x1562f3
mov esi, ecx
add esi, 0x316e39
push esi
xor edx, edx
push edx
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
inc eax
jne 0x44319e
lea eax, [0x46d0b8]
push eax
push 0
lea eax, [0x46d08f]
push eax
lea eax, [0x46d1aa]
push eax
push 0x46d2ef
or eax, 0x3c
add ebx, esi
push 0x46d361
call fcn.004439bb
mov dword [ebp - 8], eax
shr eax, 1
push eax
add eax, 0x2f
or dword [ebp - 0x10], eax
je 0x444b23
mov edi, 0xad
sub eax, edi
rol eax, 2
test dword [0x46d326], eax
jne 0x444b37
sub eax, dword [0x46d2fb]
shl eax, 3
pop dword [0x46d5b0]
mov dword [ebp - 4], eax
push 0xb245
push 0x46c2
add esi, edi
mov edx, esi
dec esi
push dword [0x46d3eb]
push 0x1a01
push 0
push 0xdc86
call fcn.004439bb
mov dword [ebp - 0x18], eax
xor eax, eax
ror eax, 7
test eax, 0x7bd
jne 0x444b7c
mov esi, 0x24f1
add eax, esi
mov dword [0x46d680], eax
call dword [sym.imp.KERNEL32.DLL_GetCommandLineA]
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
or eax, eax
je 0x443047
push 0xf0d
push 0x1bfb
push 0
push 0
lea eax, [0x46d09a]
push eax
call fcn.00443b94
mov ebx, 0
dec ebx
mov ecx, ebx
mov dword [ebp - 8], ecx
push dword [0x46d58f]
lea eax, [0x46d547]
push eax
push 0
mov esi, ebx
add eax, edi
push 0x837b
sub edi, ebx
and eax, ebx
lea eax, [0x46d1a8]
push eax
call fcn.004432f2
mov edi, 0xb6a
and edi, 0xffffff
mov ecx, edi
shr ecx, 1
or ecx, dword [0x46d3e1]
jne 0x444c07
mov esi, 0x1ad8
imul ecx, esi, 0x21
add ecx, 0xd6b
shr ecx, 7
push ecx
pop dword [0x46d107]
mov dword [ebp - 8], ecx
push ebx
push 0
push dword [0x46d303]
call fcn.00443848
test al, al
jne 0x444c2f
lea eax, [ebx + 0xc]
add ebx, eax
dec esi
mov dword [ebp - 8], eax
push 0x20e278
pop edi
add edi, 0x25f124
push edi
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
or eax, eax
jne 0x4430f1
mov edi, 0x25d76d51
push edi
mov dword [ebp - 0xc], 0x257491
mov esi, dword [ebp - 0xc]
add esi, 0x215d77
push esi
xor edi, edi
push edi
call dword [sym.imp.ADVAPI32.DLL_RegRestoreKeyA]
or eax, eax
je 0x4430f1
xor edx, edx
push edx
call dword [sym.imp.gdi32.dll_CreateMetaFileW]
mov dword [ebp - 4], eax
xor eax, eax
or dword [ebp - 0x10], eax
jne 0x444c91
add eax, 0xe78
shl eax, 6
sub eax, dword [0x46d07e]
push eax
mov edi, 0x1cb8
sub eax, edi
mov ebx, eax
pop dword [0x46d2d7]
mov dword [ebp - 0x18], ebx
push dword [0x46d187]
push 0x2566
push 0x5b1e
push 0x46d195
mov esi, eax
sub eax, edi
lea eax, [0x46d0dc]
push eax
call fcn.004432f2
dec eax
sub eax, 0x32c
jne 0x444ce4
ror eax, 2
shr eax, 6
mov edi, 0x122
sub eax, edi
test dword [ebp - 0x18], eax
je 0x444cef
add eax, 0x828
sub dword [0x46d015], eax
lea ebx, [esi + 0x2c]
push dword [0x46d4a8]
lea eax, [0x46d568]
push eax
lea eax, str._r_t_a_
push eax
add ebx, edi
xor eax, ebp
inc eax
push 0x46d27a
call fcn.00443ac2
mov dword [ebp - 0x14], eax
ror eax, 3
test eax, 0x972
jne 0x444d32
mov esi, 0x1d3a
xor esi, eax
inc eax
add eax, 0xebe
jne 0x444d3d
shl eax, 5
sub eax, 0xa07
or dword [ebp - 8], eax
jne 0x444d5d
mov edi, 0x23af
sub eax, edi
mov esi, 0x87e
xor esi, eax
mov edi, 0x16ad
add eax, edi
mov dword [ebp - 0x14], eax
lea eax, [0x46d0bd]
push eax
push dword [0x46d2f3]
sub ebx, 2
mov dword [ebp - 0x10], edi
push eax
call fcn.00443351
or al, al
jne 0x444d87
add eax, ebx
or ebx, 0x3a
xor esi, eax
shr eax, 2
mov edi, eax
mov esi, 0x23d2
imul edi, esi, 0x60
push edi
pop dword [0x46d2f3]
mov dword [ebp - 0x10], edi
add edi, ebx
sub esi, ebx
add esi, eax
push dword [0x46d10e]
push 0x46d03d
push dword [0x46d2cb]
mov esi, 0x8dd7cdc1
sub esi, 0x8d938ada
call esi
test eax, eax
je 0x44304a
mov ebx, eax
xor eax, eax
mov esi, eax
sub dword [0x46d434], esi
lea eax, [0x46d452]
push eax
push 0
push 0x46d0eb
call fcn.00443848
mov esi, 0
add esi, 0x1d4
or dword [ebp - 4], esi
jne 0x444e09
mov edi, 0x122b
imul esi, edi, 7
add esi, dword [0x46d502]
shl esi, 1
mov edi, 0x2503
or esi, edi
add esi, 0x4fc
je 0x444e1f
add esi, dword [0x46d391]
inc esi
add esi, 0xc1d
or esi, 0x10c
jne 0x444e3a
inc esi
and esi, 0xfffff
sub esi, 0xa1d
mov dword [0x46d4f8], esi
push dword [0x46d19a]
push 0x46d502
push 0xe472
call fcn.004436a4
mov esi, 0
ror esi, 7
mov edi, esi
sub dword [0x46d1e0], edi
push eax
push 0xdada
push 0
call fcn.00443848
mov esi, 0x7ed
or dword [ebp - 4], esi
jne 0x444e84
mov eax, 0x1490
imul esi, eax, 4
mov eax, 0x5aa
xor eax, esi
mov edx, esi
mov dword [ebp - 4], edx
call fcn.00443a24
xor edi, edi
push edi
call dword [sym.imp.gdi32.dll_CreateMetaFileW]
push eax
or eax, 0x69
mov dword [ebp - 0xc], edi
inc esi
push 0xa4b2
push 0
mov dword [ebp - 4], 0x48
lea eax, [0x46d5e5]
push eax
push ebx
call fcn.00443b94
mov dword [ebp - 0x1c], eax
rol eax, 4
mov esi, eax
mov edi, 0x1df8
sub esi, edi
or esi, 0x1fce
je 0x444eeb
sub esi, 0x4b5
mov eax, 0xb6b
xor eax, esi
add esi, 0x9a7
mov dword [0x46d09a], esi
mov dword [ebp - 0x18], 0x5bce121b
mov esi, dword [ebp - 0x18]
push esi
push 0x94418
pop edx
add edx, 0x3d8ddb
push edx
mov dword [0x46d463], 0
mov edx, dword [0x46d463]
push edx
call dword [sym.imp.ADVAPI32.DLL_RegRestoreKeyA]
or eax, eax
je 0x4431a0
push 5
pop edi
push edi
call dword [sym.imp.KERNEL32.DLL_GetThreadPriority]
or eax, eax
je 0x443196
push ebx
push 0xf7a6
lea eax, [0x46d294]
push eax
push 0x192c
push 0
mov edx, esi
mov eax, edi
sub esi, edi
push 0x46d569
call fcn.004434e2
test al, al
je 0x444f6b
mov esi, 0x76
dec edx
mov dword [ebp - 0x14], eax
sub eax, dword [0x46d146]
test dword [ebp - 0x14], eax
je 0x444f7e
and eax, 0xfffffff
mov esi, 0x924
xor esi, eax
push eax
pop dword [0x46d54e]
mov dword [str.b___d], eax
push 0x46d14f
push edi
push 0x46d105
call fcn.004436a4
test dword [ebp - 0x20], eax
je 0x444faf
shr eax, 1
mov esi, 0x1ad6
or eax, esi
mov dword [0x46d0ed], eax
push 0xec22
call fcn.00443935
mov eax, 0xae3
ror eax, 1
test eax, 0x26a4
je 0x444fd4
mov esi, 0x1c1
imul eax, esi, 0x5e
mov dword [0x46d502], eax
mov eax, ebx
add eax, 0x7e6
push eax
pop dword [0x46d17b]
mov dword [ebp - 0x14], eax
mov edx, 0x1f3734
mov eax, edx
mov ecx, 0x279b57
add eax, ecx
push eax
call dword [sym.imp.gdi32.dll_RemoveFontResourceW]
xor esi, esi
dec esi
mov ecx, esi
mov dword [0x46d2c1], ecx
push 0x46d4f3
push 0x46d535
push 0
push 0xaec7
push dword [0x46d69b]
call fcn.004435cc
mov esi, 0x945
test esi, 0x1f40
je 0x445040
ror esi, 2
sub esi, dword [0x46d598]
ror esi, 7
sub dword [0x46d491], esi
sub edi, dword [0x49c9ee]
push 0x5218
push 0
lea eax, [0x46d1a6]
push eax
lea eax, [0x46d665]
push eax
mov edx, 0xe9acd8d0
sub edx, 0xe9689b2e
call edx
push esi
push edi
add eax, 0xaaf
mov edx, eax
mov edi, 0x214e
xor edi, edx
test dword [0x46d3f1], edx
jne 0x445090
ror edx, 1
mov eax, 0x1b26
or edx, eax
shl edx, 8
push edx
pop dword [0x46d0b7]
mov dword [ebp - 0x14], edx
push dword [0x46d164]
push 0
sub ebx, esi
xchg eax, eax
add eax, edi
inc edi
lea eax, [0x46d398]
push eax
push 0
push dword [0x46d127]
push 0x46d07d
call fcn.004439bb
mov dword [0x46d2f0], eax
add eax, 0x47c
mov edi, eax
mov dword [0x46d67e], edi
lea eax, [0x46d3f1]
push eax
lea eax, [0x46d1c9]
push eax
push dword [0x46d11d]
call fcn.004436a4
mov edi, 0x57b
mov eax, edi
sub dword [0x46d2f9], eax
lea esi, [esi + 0x5c]
or esi, 0x56
push 0
push dword [0x46d3dc]
lea eax, [0x46d6c0]
push eax
lea eax, [0x46d46d]
push eax
lea eax, [0x46d2d0]
push eax
push dword [0x46d5ef]
call fcn.004439bb
push 0x90f
pop esi
inc esi
or dword [ebp - 0x14], esi
je 0x44513f
shl esi, 5
dec esi
shr esi, 1
test dword [ebp - 4], esi
je 0x44514d
mov edi, 0x1146
sub esi, edi
sub esi, dword [0x46d186]
push esi
pop dword [0x46d39b]
mov dword [ebp - 0x10], esi
push 0
lea eax, [0x46d069]
push eax
push 0x8857
lea eax, [0x46d4f4]
push eax
call fcn.004433d6
mov esi, 0x24b1
add eax, esi
test dword [0x46d32a], eax
jne 0x445190
ror eax, 1
mov esi, 0x2600
imul eax, esi, 0x4c
mov edx, eax
sub dword [0x46d0be], edx
ret