Function at 0x4424c0
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x14a8
call fcn.007ce210
mov ecx, dword [esp + 0x14c4]
mov eax, dword [esp + 0x14c0]
mov ebx, dword [esp + 0x14bc]
mov edx, 0x62917691
cmp eax, 0x18
je 0x44254a
cmp eax, 0x19
jne 0x4425d5
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
je 0x4427e4
nop
mov dword [esp], ebx
mov edi, ecx
call fcn.007c3e70
mov esi, eax
mov dword [esp + 0xc], ebx
mov dword [esp], ebx
mov dword [esp + 8], 0xc2
mov dword [esp + 4], 0x18
call fcn.004424c0
mov ecx, edi
lea eax, [esi + 1]
sub ecx, eax
lea ebx, [ebx + esi + 1]
jne 0x442510
jmp 0x4427e4
xor dl, 0xc4
mov esi, ecx
mov ebx, edx
call fcn.007c4bf0
mov ecx, esi
test cl, 0x10
jne 0x4426a0
mov dword [esp + 0x30], eax
mov dword [esp + 0x78], ebx
mov byte [esp + 0x48], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x37], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x80], al
mov byte [esp + 0x53], al
mov byte [esp + 0x47], al
mov byte [esp + 0x67], al
mov byte [esp + 0x49], al
mov byte [esp + 0x73], al
mov byte [esp + 0x36], al
mov byte [esp + 0x66], al
mov byte [esp + 0x46], al
mov byte [esp + 0x4a], al
mov dword [esp + 0x68], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x4c], eax
jmp 0x4432bc
xor edx, 0x62917682
mov dword [esp + 0x78], edx
call fcn.0044c1f0
lea ecx, [esp + 0x1484]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044c1b0
mov esi, eax
test esi, esi
je 0x442686
mov edi, 0xffffffff
jmp 0x442681
mov dword [esp + 0x78], 0xb
mov eax, dword [esi]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x7c], eax
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov ebp, dword [esi + 0x10]
inc ebp
mov eax, dword [esi + 0x14]
mov ecx, 0x76c
add eax, ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14c4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14bc]
mov dword [esp], eax
mov dword [esp + 8], str._d__02d__02d__02d:_02d:_02d
call fcn.0064a2d0
add edi, 1
jb 0x442610
cmp dword [esp + 0x78], 0xb
je 0x4427e6
mov eax, dword [esp + 0x14bc]
mov byte [eax], 0
jmp 0x4427e4
mov dl, bl
add dl, 0xf
movzx edx, dl
cmp edx, 0xa
je 0x4426e1
mov dword [esp + 0x30], eax
mov dword [esp + 0x78], ebx
mov eax, ecx
not eax
and eax, 1
cmp edx, 0x64
jne 0x442762
add eax, ecx
setne al
movzx eax, al
and eax, ecx
mov ecx, eax
imul ecx, ecx
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jmp 0x4426ec
mov dword [esp + 0x30], eax
mov dword [esp + 0x78], ebx
test cl, 1
mov byte [esp + 0x47], al
mov byte [esp + 0x67], al
mov byte [esp + 0x49], al
mov byte [esp + 0x73], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x36], al
mov byte [esp + 0x66], al
mov byte [esp + 0x53], al
mov byte [esp + 0x48], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x37], al
mov byte [esp + 0x46], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x80], al
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x4c], eax
je 0x44281e
jmp 0x4427f1
add eax, ecx
setne al
movzx eax, al
test ecx, eax
mov byte [esp + 0x47], al
mov byte [esp + 0x67], al
mov byte [esp + 0x49], al
mov byte [esp + 0x73], al
mov byte [esp + 0x36], al
mov byte [esp + 0x66], al
mov byte [esp + 0x53], al
mov byte [esp + 0x48], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x37], al
mov byte [esp + 0x46], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x80], al
mov byte [esp + 0x4a], al
mov eax, 0x12
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x4c], ecx
jne 0x442cea
jmp 0x44281e
xor eax, eax
add esp, 0x14a8
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, 0xc
mov eax, dword [esp + 0x14c8]
mov dword [esp + 4], eax
mov dword [esp], 3
call fcn.0061b0f0
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], ebp
cmp edi, 9
je 0x443259
mov eax, 0xe
mov byte [esp + 0x4a], 0x49
mov ecx, dword [esp + 0x14c4]
test cl, 2
je 0x4431e7
mov cl, 0x2d
mov eax, 0x15
movzx ecx, cl
cmp ecx, 0x2d
je 0x443367
xor ebp, ebp
jmp 0x44287a
mov edi, 9
mov eax, ebp
imul eax, eax
and eax, 3
cmp eax, 2
adc ebp, 0
mov eax, dword [esp + 0x14c8]
mov dword [esp + 4], eax
mov dword [esp], 2
call fcn.0061b0f0
mov eax, ebp
or eax, 2
mov ecx, ebp
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebp, eax
jb 0x442850
jmp 0x442815
mov dl, 0x3e
mov al, 0x44
mov ebp, dword [0x80c0bc]
test ebp, ebp
jne 0x4428af
mov ecx, ebp
not ecx
and ecx, 1
add ecx, ebp
jne 0x4427e4
mov edi, 5
movzx eax, al
cmp eax, 0x19
je 0x4428d4
mov dword [esp + 0x78], edx
cmp eax, 0x76
mov dword [esp], ebp
call fcn.007c5950
test eax, eax
je 0x442915
jmp 0x44298a
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x78], edx
cmp edi, 5
mov ebp, dword [esp + 0x2c]
jne 0x442f4c
imul edi, edi
and edi, 3
cmp edi, 2
jae 0x442f4c
mov dword [esp], ebp
call fcn.007c5950
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x44298a
mov eax, dword [esp + 0x14c4]
mov edx, eax
movzx eax, dl
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movsx ecx, dl
movzx eax, al
cmp ecx, eax
jge 0x4429a3
mov dword [esp + 0x2c], ebp
mov eax, edx
and eax, 1
mov ecx, eax
imul ecx, ecx
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x442f4c
mov al, 0x6c
mov edi, 8
movzx ecx, al
cmp ecx, 0x17
je 0x443612
mov eax, 9
cmp ecx, 0x2e
je 0x442e9b
mov eax, 0x1b
cmp ecx, 0x6c
jne 0x4429ac
mov cl, byte [esp + 0x53]
jmp 0x4435e6
mov dword [esp + 4], str.Failed_to_lock_log_n
mov dword [esp], 2
call fcn.0061b0f0
jmp 0x4427e4
mov dword [esp + 0x2c], ebp
jmp 0x443198
call fcn.00455fb0
test eax, eax
jne 0x4429d6
jmp 0x442f4c
mov edi, 0xb
call fcn.00455fb0
test eax, eax
je 0x4433f6
xor eax, eax
test al, al
jne 0x4433f6
mov edi, 2
mov byte [esp + 0x53], 0x15
mov byte [esp + 0x4b], 0x14
mov byte [esp + 0x36], 0x5d
lea eax, [esp + 0x84]
mov dword [esp + 0x3c], eax
mov dword [esp], eax
mov dword [esp + 0x10], 0x80bcbc
mov dword [esp + 0xc], 0x80b8bc
mov dword [esp + 8], str._s_s.log
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov eax, dword [0x7f6144]
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add ecx, eax
mov ebp, dword [esp + 0x60]
jne 0x442f98
mov ecx, 5
mov al, byte [esp + 0x4b]
movzx eax, al
cmp eax, 0x14
je 0x442ab0
mov byte [esp + 0x4b], 0x14
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
mov dword [esp], 0x80c0c0
call fcn.004959f0
mov dword [esp + 8], 0x1a4
mov dword [esp + 4], 0x109
mov dword [esp], 0x80c0c0
call fcn.007c3b30
mov dword [0x7f6144], eax
cmp eax, 0xffffffff
je 0x443573
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x442c2c
jmp 0x443573
cmp ecx, 2
jne 0x442afb
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x442afb
mov edi, 4
movzx eax, byte [esp + 0x46]
cmp eax, 0x2d
jne 0x442b5c
mov dword [esp + 0x60], ebp
cmp edi, 4
jne 0x442bd5
mov eax, edi
not eax
and eax, 1
add eax, edi
je 0x442bd5
mov byte [esp + 0x46], 0x5a
test byte [esp + 0x48], 1
jmp 0x442b6a
mov byte [esp + 0x4b], 0x60
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
mov dword [esp], 0x80c0c0
call fcn.004959f0
mov dword [esp + 8], 0x1a4
mov dword [esp + 4], 0x109
mov dword [esp], 0x80c0c0
call fcn.007c3b30
mov dword [0x7f6144], eax
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add ecx, eax
jne 0x442c2c
jmp 0x443573
mov byte [esp + 0x46], 0x2d
test byte [esp + 0x48], 1
mov dword [esp + 0x60], ebp
mov eax, dword [esp + 0x54]
mov dword [esp + 0x6c], eax
je 0x4433a4
mov eax, 0xc
mov edi, dword [esp + 0x54]
mov ecx, edi
not ecx
and ecx, 1
add ecx, edi
setne cl
movzx ecx, cl
add ecx, edi
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x4c]
mov byte [esp + edi + 0x484], dl
jmp 0x442e63
mov byte [esp + 0x36], 0x4e
mov byte [esp + 0x66], 0x64
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], 0x80c0c0
call fcn.007c58b0
test eax, eax
mov eax, dword [0x7f6144]
mov dword [esp + 0x5c], eax
jne 0x443341
mov edi, 0x18
mov eax, 0x10
mov ecx, dword [esp + 0x5c]
cmp ecx, 0xffffffff
je 0x4432a1
cmp eax, 2
jne 0x442c24
mov byte [esp + 0x36], 0x46
mov byte [esp + 0x66], 0x64
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], 0x80c0c0
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jmp 0x442bc6
mov dword [esp + 0x5c], ecx
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x60], ebp
mov edi, 0x14
mov byte [esp + 0x80], 0x24
mov byte [esp + 0x5b], 9
mov byte [esp + 0x46], 0x5a
mov byte [esp + 0x37], 0x58
mov eax, dword [esp + 0x14bc]
mov dword [esp], eax
call fcn.007c3e70
mov dword [esp + 0x38], eax
mov ecx, dword [0x7f6144]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x484]
mov dword [esp + 0x74], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
xor esi, esi
cmp eax, ecx
mov ebp, 0
je 0x443591
mov eax, 5
mov ecx, dword [esp + 0x14bc]
movzx edi, byte [ecx + ebp]
cmp esi, 0x1000
setb cl
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
or dl, cl
mov byte [esp + 0x48], dl
mov edx, edi
cmp edx, 0xa
je 0x442ce6
mov ecx, 2
mov dword [esp + 0x4c], edx
imul edx, edx
and edx, 3
cmp edx, 2
mov dword [esp + 0x54], esi
jne 0x442ab0
jmp 0x442cea
mov dword [esp + 0x4c], edx
cmp eax, 5
jne 0x4427f1
mov eax, 0xc
test byte [esp + 0x48], 1
je 0x442d51
movzx eax, byte [esp + 0x37]
cmp eax, 0x58
jne 0x442d5f
mov byte [esp + 0x37], 0x36
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add eax, esi
mov dword [esp + 0x68], eax
mov byte [esp + esi + 0x484], 0xd
cmp eax, 0x1000
mov dword [esp + 0x6c], 0x1000
jb 0x442db0
xor eax, eax
test al, al
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], ebp
je 0x4433a4
jmp 0x443123
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x6c], esi
jmp 0x442dc6
mov edi, 0xd
mov byte [esp + 0x37], 0x58
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, esi
adc eax, 0
mov byte [esp + esi + 0x484], 0xd
cmp eax, 0x1000
mov dword [esp + 0x6c], 0x1000
jb 0x442db9
mov dword [esp + 0x68], eax
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], ebp
jne 0x4433a4
jmp 0x44311a
mov dword [esp + 0x54], esi
jmp 0x443123
mov dword [esp + 0x68], eax
mov dword [esp + 0x54], esi
jmp 0x44311a
cmp eax, 7
jne 0x4433a4
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x4433a4
xor ebp, ebp
jmp 0x442e16
mov edi, 0xa
mov byte [esp + 0x80], 0x35
inc ebp
mov dword [esp + 8], esi
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.007c3eb0
mov eax, ebp
not eax
and eax, 1
add eax, ebp
setne al
movzx eax, al
cmp ebp, eax
jb 0x442df0
jmp 0x44355d
mov eax, 4
inc ecx
mov edi, dword [esp + 0x68]
mov byte [esp + edi + 0x484], 0xa
mov dword [esp + 0x6c], edx
mov edi, ecx
imul edi, edi
and edi, 3
cmp edi, 2
sbb edi, edi
and edi, 1
cmp ecx, edi
jb 0x442e30
mov dword [esp + 0x60], ebp
jmp 0x4433e2
cmp eax, 0xc
jne 0x442e7d
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x442e7d
mov dword [esp + 0x4c], edx
jmp 0x4433a4
mov dword [esp + 0x4c], edx
mov eax, 0xe
mov byte [esp + 0x4a], 0x49
mov ecx, dword [esp + 0x14c4]
test cl, 4
jne 0x4430b8
cmp eax, 9
jne 0x4432bc
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x4429ba
jmp 0x4432bc
mov byte [esp + 0x5b], 9
mov eax, 3
mov ecx, dword [esp + 0x60]
sub eax, ecx
xor eax, ecx
setne al
movzx ebp, al
add ebp, ecx
cmp ebp, dword [esp + 0x38]
jne 0x442ef7
mov eax, 6
mov ecx, ebp
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov esi, dword [esp + 0x6c]
jb 0x4435aa
jmp 0x442c94
mov esi, dword [esp + 0x6c]
jmp 0x442c94
mov byte [esp + 0x80], 0x3d
cmp eax, 2
adc edi, 0
mov dword [esp + 8], esi
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.007c3eb0
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
sbb ecx, ecx
and ecx, 1
cmp edi, ecx
jb 0x442f00
mov ebp, dword [esp + 0x60]
jmp 0x443573
mov byte [esp + 0x53], 0x5c
mov dword [esp + 0x60], ebp
mov dl, 0x25
mov eax, dword [esp + 0x14c4]
test al, 6
je 0x442fcb
mov byte [esp + 0x47], 0x25
call fcn.004561c0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x442f7c
mov dl, 0x25
jmp 0x442fcb
mov edi, 0x10
mov eax, dword [esp + 0x14bc]
mov dword [esp + 4], eax
mov dword [esp], 0x27
call fcn.00441910
cmp edi, 2
jne 0x442fc7
movzx ecx, byte [esp + 0x36]
cmp ecx, 0xc
je 0x442ba6
cmp ecx, 0x4e
je 0x442ffb
mov eax, 2
cmp ecx, 0x5d
jne 0x443045
mov ecx, dword [esp + 0x5c]
jmp 0x442bec
mov dl, byte [esp + 0x47]
mov ecx, 7
movzx eax, dl
cmp eax, 0x25
jne 0x442ff2
mov byte [esp + 0x47], 0x70
mov eax, dword [esp + 0x14c4]
test ah, 1
je 0x443198
jmp 0x4430c1
mov byte [esp + 0x47], dl
jmp 0x44308c
mov edi, 0x12
mov byte [esp + 0x36], 0x5d
mov byte [esp + 0x66], 0x64
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], 0x80c0c0
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [0x7f6144]
mov dword [esp + 0x5c], eax
jne 0x443341
jmp 0x442ad7
mov ebp, 0x10
mov byte [esp + 0x36], 0xc
mov byte [esp + 0x66], 0x64
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], 0x80c0c0
call fcn.007c58b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [0x7f6144]
mov dword [esp + 0x5c], eax
je 0x442bd5
jmp 0x44348f
cmp ecx, 7
jne 0x4430f6
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x4430f6
mov eax, 0x19
mov byte [esp + 0x47], 0x25
mov ecx, dword [esp + 0x14c4]
test ch, 1
je 0x443198
cmp eax, 0xe
je 0x443281
mov edi, 0x16
mov byte [esp + 0x49], 0x40
mov byte [esp + 0x67], 6
mov ecx, dword [0x7f6144]
mov dword [esp + 0x40], ecx
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
add eax, ecx
je 0x44347b
jmp 0x4431ae
mov edi, 0x1d
mov byte [esp + 0x66], 0x64
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007c5050
mov dword [0x7f6144], 0xffffffff
mov ebp, dword [esp + 0x60]
cmp edi, 0xd
jne 0x442a40
xor ecx, ecx
mov eax, dword [esp + 0x54]
lea edx, [eax + 2]
jmp 0x442e46
mov byte [esp + 0x73], 0x78
mov eax, ebp
imul eax, eax
and eax, 3
cmp eax, 2
adc ebp, 0
mov dword [esp], ebx
call fcn.007c7490
mov eax, ebp
and eax, 1
xor eax, ebp
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp ebp, eax
jb 0x443140
jmp 0x443198
mov byte [esp + 0x49], 0x40
mov byte [esp + 0x73], 0x78
mov ebx, dword [0x7f6140]
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
add eax, ebx
jne 0x443502
mov edi, 8
mov eax, dword [0x80c0bc]
mov dword [esp], eax
call fcn.007c5960
test eax, eax
jne 0x443229
cmp edi, 8
jne 0x4431cf
mov eax, 3
sub eax, edi
xor eax, edi
je 0x4431cf
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.007c4c00
jmp 0x4427e4
mov ecx, 0xe
mov eax, 0x1e
movzx edx, byte [esp + 0x67]
cmp edx, 0xb
je 0x4434ef
xor edi, edi
cmp eax, 0xe
mov ebp, dword [esp + 0x40]
jne 0x44320e
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x443259
jmp 0x44320e
mov byte [esp + 0x67], 6
inc edi
mov dword [esp], ebp
call fcn.007c7490
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp edi, eax
jb 0x443200
jmp 0x44347b
mov dword [esp + 4], str.Failed_to_unlock_log_n
mov dword [esp], 1
call fcn.0061b0f0
call fcn.0044c0d0
mov eax, dword [esp + 0x14c8]
mov dword [esp + 4], eax
mov dword [esp], 2
call fcn.0061b0f0
mov eax, 0x1a
movzx ecx, byte [esp + 0x4a]
cmp ecx, 0x13
jne 0x443271
mov edx, dword [esp + 0x4c]
jmp 0x442e63
mov byte [esp + 0x4a], 0x13
mov eax, dword [esp + 0x14c4]
test al, 4
je 0x4432bc
mov edi, 0xa
mov eax, dword [esp + 0x14c8]
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.0061b0f0
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ecx
cmp edi, 0xa
je 0x4432bc
mov eax, edi
and eax, 1
inc eax
xor eax, edi
mov ebp, dword [esp + 0x60]
jne 0x442a40
mov eax, dword [esp + 0x78]
movzx eax, al
cmp eax, 0x3e
jne 0x442892
mov dl, 0x55
mov al, 0x44
mov ebp, dword [0x80c0bc]
test ebp, ebp
jne 0x4428af
mov ecx, ebp
and ecx, 1
xor ecx, ebp
not ecx
test ecx, ecx
jne 0x4427e4
jmp 0x4428af
mov byte [esp + 0x66], 0x5f
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
adc edi, 0
mov dword [esp], ebp
call fcn.007c5050
mov dword [0x7f6144], 0xffffffff
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x443300
mov ebp, dword [esp + 0x60]
jmp 0x442a40
mov edi, 6
movzx edx, byte [esp + 0x66]
cmp edx, 0x17
je 0x443549
mov ecx, 9
mov eax, 0xc
cmp edx, 0x5f
je 0x44308c
cmp eax, 0xc
jne 0x443242
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x443242
mov byte [esp + 0x66], 0x17
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007c5050
mov dword [0x7f6144], 0xffffffff
mov ebp, dword [esp + 0x60]
jmp 0x442a40
mov edi, 1
mov al, byte [esp + 0x5b]
movzx eax, al
cmp eax, 6
jne 0x4433f6
mov eax, 0xa
mov byte [esp + 0x5b], 6
mov edx, dword [esp + 0x60]
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
setne cl
movzx ebp, cl
add ebp, edx
cmp ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x6c]
jne 0x442c94
cmp eax, 4
jne 0x44343d
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x4433a4
jmp 0x44343d
cmp edi, 1
jne 0x442f4c
mov eax, edi
or eax, 2
xor edi, 2
add edi, eax
jne 0x442eb8
jmp 0x442f4c
mov byte [esp + 0x80], 0x24
mov dword [esp + 8], esi
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.007c3eb0
mov ebp, dword [esp + 0x60]
jmp 0x443573
movzx ecx, byte [esp + 0x80]
cmp ecx, 0x24
je 0x443467
mov eax, 7
cmp ecx, 0x35
je 0x442dc6
cmp ecx, 0x3d
jne 0x443414
mov byte [esp + 0x80], 0x37
jmp 0x44341c
xor edi, edi
jmp 0x442f26
mov byte [esp + 0x67], 0xb
mov dword [esp], ecx
call fcn.007c7490
mov ebp, 4
mov eax, 8
movzx ecx, byte [esp + 0x49]
cmp ecx, 0x26
jne 0x4434d2
cmp ebp, 4
je 0x4434a2
mov eax, ebp
and eax, 1
inc eax
xor eax, ebp
jne 0x443341
mov ecx, 5
mov eax, 0x17
mov byte [esp + 0x49], 0x26
mov byte [esp + 0x73], 0x78
mov ebx, dword [0x7f6140]
mov edx, ebx
or edx, 2
mov edi, ebx
xor edi, 2
add edi, edx
setne dl
movzx edx, dl
add edx, ebx
jne 0x4434ef
cmp eax, 8
jne 0x443198
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x443171
jmp 0x443198
cmp ecx, 5
mov ecx, dword [esp + 0x40]
je 0x443502
xor eax, eax
test al, al
je 0x44346e
mov edi, 0x18
movzx eax, byte [esp + 0x73]
cmp eax, 0x5c
je 0x44355d
xor ebp, ebp
cmp eax, 0x78
je 0x44315b
jmp 0x443533
mov edi, 3
mov byte [esp + 0x73], 3
inc ebp
mov dword [esp], ebx
call fcn.007c7490
mov eax, ebp
or eax, 2
mov ecx, ebp
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebp, eax
jb 0x443520
cmp edi, 3
je 0x443198
xor edi, edi
mov ebp, dword [esp + 0x5c]
jmp 0x443325
cmp edi, 0xa
jne 0x4435c9
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
je 0x4435c9
mov ebp, dword [esp + 0x60]
mov al, byte [esp + 0x53]
movzx eax, al
cmp eax, 0x15
je 0x442f43
mov edi, 0xb
cmp eax, 0x5c
jne 0x4435db
mov dword [esp + 0x60], ebp
cmp edi, 0xb
je 0x4435a0
xor eax, eax
test al, al
je 0x44343d
mov eax, 0x10
mov byte [esp + 0x53], 0x34
cmp eax, 6
jne 0x442f4c
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x44343d
jmp 0x442f4c
mov byte [esp + 0x73], 0x5c
mov dword [esp], ebx
call fcn.007c7490
jmp 0x443198
mov eax, 0xd
mov cl, 0x15
mov dword [esp + 0x60], ebp
mov byte [esp + 0x53], cl
cmp eax, 0xd
jne 0x443600
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x442f4c
mov edi, 0x10
call fcn.00455fb0
test eax, eax
je 0x442f4c
cmp edi, 8
jne 0x4429d6
mov edi, 9
call fcn.00455fb0
test eax, eax
jne 0x4429d6
jmp 0x4428dc