Function at 0x4a7f70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x78
mov ebp, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a95e0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.004337b0
mov esi, eax
mov dword [esp], edi
call fcn.004b0080
test eax, eax
je 0x4a8065
xor eax, eax
test al, al
jne 0x4a8065
mov dword [esp + 0x6c], esi
mov eax, 0x1b
mov dword [esp + 0x74], 0x7000004f
mov dword [esp + 0x54], ecx
mov byte [esp + 0x63], cl
mov byte [esp + 0x62], cl
mov byte [esp + 0x5b], cl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x61], cl
mov byte [esp + 0x68], cl
mov byte [esp + 0x4f], cl
mov byte [esp + 0x37], cl
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x70], ecx
cmp eax, 0xc
je 0x4a9454
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x4a9518
jmp 0x4a9454
mov al, 0x11
movzx eax, al
cmp eax, 0x11
jne 0x4a80da
mov eax, dword [edi + 0x1c4]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x74], 0x70000052
cmp eax, ecx
jne 0x4a8183
mov dh, 0x5c
mov dword [esp + 0x70], eax
mov dword [esp + 0x50], eax
mov byte [esp + 0x4f], al
mov byte [esp + 0x37], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x68], ah
mov byte [esp + 0x62], ah
mov dword [esp + 0x48], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x54], ebp
jmp 0x4a81bf
mov dword [esp + 0x6c], esi
mov esi, 9
mov dword [esp + 0x74], 0x7000004f
mov dword [esp + 0x70], eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x63], al
mov byte [esp + 0x61], al
mov byte [esp + 0x37], al
mov byte [esp + 0x68], al
mov byte [esp + 0x62], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x4f], al
mov dword [esp + 0x48], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], eax
cmp esi, 9
jne 0x4a9518
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
je 0x4a9518
mov eax, dword [edi + 0x1c4]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x74], 0x70000052
cmp eax, ecx
jne 0x4a9518
mov ebp, ebx
mov dword [esp + 0x64], edx
mov eax, 0x11
mov byte [esp + 0x2b], 0x5c
jmp 0x4a818c
mov dword [esp + 0x6c], esi
jmp 0x4a9518
cmp eax, 8
jne 0x4a81a9
mov esi, 1
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x54], eax
jmp 0x4a910b
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0x63]
mov dl, byte [esp + 0x61]
mov dh, byte [esp + 0x2b]
mov ebx, ebp
mov byte [esp + 0x2b], dh
mov byte [esp + 0x61], dl
mov byte [esp + 0x63], al
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x6c], esi
mov esi, 5
movzx eax, dh
cmp eax, 0x5c
jne 0x4a81e9
mov ecx, dword [esp + 0x64]
jmp 0x4a8ea2
mov esi, 0x16
mov byte [esp + 0x2b], 0x5c
mov byte [esp + 0x68], 0x5a
mov byte [esp + 0x61], 0x73
mov dword [esp], edi
call fcn.0040b8f0
cmp eax, 1
je 0x4a821c
cmp eax, 3
mov edx, dword [esp + 0x64]
je 0x4a836a
jmp 0x4a9454
mov cl, 0x5a
mov edx, dword [esp + 0x64]
cmp esi, 0xc
je 0x4a8233
xor eax, eax
test al, al
jne 0x4a8233
mov al, byte [esp + 0x61]
jmp 0x4a8261
mov dword [esp + 0x64], edx
mov byte [esp + 0x68], 0x51
call fcn.00447cf0
mov eax, dword [esp + 0x90]
mov ecx, eax
test ecx, ecx
setne al
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb dl, dl
and dl, al
jmp 0x4a890c
movzx eax, al
cmp eax, 0x11
je 0x4a8287
mov byte [esp + 0x68], cl
cmp eax, 0x65
jne 0x4a82ad
mov eax, 0x11
mov byte [esp + 0x61], 0x11
cmp dword [ebx], 0
je 0x4a91d5
jmp 0x4a82c5
mov byte [esp + 0x68], cl
mov byte [esp + 0x61], 0x73
mov eax, dword [ebx]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x4a9454
jmp 0x4a82c5
mov ecx, 8
mov byte [esp + 0x61], 0x65
cmp dword [ebx], 0
jne 0x4a82c5
mov ebp, dword [esp + 0x38]
jmp 0x4a8bda
mov eax, 0xb
cmp dword [edi + 0xa4], 0
jne 0x4a8a3a
jmp 0x4a9454
mov dword [esp + 0x64], edx
mov eax, dword [ebx + 0x2c]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x4a834f
movzx ecx, cl
cmp eax, ecx
je 0x4a8358
mov cl, 0x2c
mov eax, 7
movzx ecx, cl
cmp ecx, 0x2c
je 0x4a8550
mov eax, 0xf
cmp ecx, 0x3d
jne 0x4a8361
mov ecx, 0xf
mov eax, dword [edx + 0x1c]
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
mov dword [esp + 0x74], 0x70000040
cmp eax, edx
mov edx, dword [esp + 0x64]
je 0x4a9454
jmp 0x4a914a
mov edx, dword [esp + 0x64]
jmp 0x4a9454
mov edx, dword [esp + 0x64]
jmp 0x4a9454
mov edx, dword [esp + 0x64]
jmp 0x4a8da7
mov esi, 0xc
mov byte [esp + 0x37], 0x6a
mov ebp, edx
call fcn.00449410
mov edx, ebp
mov dword [esp + 0x48], eax
mov eax, dword [ebx]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x4a9454
cmp esi, 9
je 0x4a9454
mov eax, 7
movzx ecx, byte [esp + 0x37]
cmp ecx, 0x74
je 0x4a85d3
mov dword [esp + 0x64], edx
mov eax, 1
cmp ecx, 0x7e
jne 0x4a840b
mov byte [esp + 0x37], 0x74
mov eax, dword [ebx + 0x2c]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
mov esi, dword [esp + 0x6c]
test esi, esi
setne dl
imul esi, esi
and esi, 3
cmp esi, 3
sete ch
or ch, dl
movzx edx, ch
cmp edx, 1
jne 0x4a8414
movzx ecx, cl
cmp eax, ecx
mov edx, dword [esp + 0x64]
jne 0x4a8466
jmp 0x4a9454
mov dl, byte [esp + 0x63]
jmp 0x4a84d2
mov edx, dword [esp + 0x64]
jmp 0x4a9454
mov ebp, edx
mov eax, 0xc
mov byte [esp + 0x37], 0x7e
mov ecx, dword [ebx + 0x2c]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
mov esi, dword [esp + 0x6c]
test esi, esi
je 0x4a8458
imul esi, esi
and esi, 3
cmp esi, 1
ja 0x4a845f
movzx edx, dl
cmp ecx, edx
mov edx, ebp
jne 0x4a8466
jmp 0x4a8049
mov edx, ebp
jmp 0x4a8049
mov edx, ebp
jmp 0x4a8049
mov eax, 0xf
mov esi, 0x12
mov ecx, dword [esp + 0x6c]
mov ebp, edx
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x70], edx
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp edx, ecx
mov edx, ebp
je 0x4a8621
cmp esi, 0xa
jne 0x4a84ac
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x4a9518
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x6c]
mov ecx, dword [edx + 0x1c]
cmp ecx, 0xffffffff
je 0x4a851e
mov esi, 5
mov eax, 0xf
test ecx, ecx
mov dl, byte [esp + 0x63]
jne 0x4a9530
mov byte [esp + 0x63], dl
cmp eax, 1
je 0x4a859e
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4a859e
mov eax, dword [edi + 0xa8]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0x74], 0x7000004e
cmp eax, ecx
mov edx, dword [esp + 0x64]
jne 0x4a9518
jmp 0x4a9454
mov cl, 0x16
mov eax, 0xa
movzx ecx, cl
cmp ecx, 0x77
jne 0x4a8550
mov eax, dword [edx + 0x20]
mov dword [esp + 0x5c], eax
cmp eax, 0xffffffff
je 0x4a86b3
xor eax, eax
test al, al
mov edx, dword [esp + 0x64]
je 0x4a8630
jmp 0x4a9454
cmp eax, 7
jne 0x4a85f0
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4a85f0
mov eax, 2
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x6c], edx
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
mov dword [esp + 0x74], 0x70000040
cmp ecx, edx
mov edx, dword [esp + 0x64]
je 0x4a87e7
jmp 0x4a9518
mov byte [esp + 0x37], 0x6a
mov ecx, dword [esp + 0x6c]
test ecx, ecx
mov edx, dword [esp + 0x64]
je 0x4a9454
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
je 0x4a9454
mov eax, 2
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x4a9454
cmp eax, 2
je 0x4a8466
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x4a841d
jmp 0x4a8466
mov ecx, 0xa
mov eax, 0xb
mov esi, dword [edx + 0x20]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x6c], edx
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
add edx, esi
mov edx, dword [esp + 0x64]
je 0x4a884a
cmp eax, 0xb
je 0x4a8630
xor eax, eax
test al, al
je 0x4a9454
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x30], ecx
mov eax, 3
sub eax, ecx
xor eax, ecx
setne al
movzx eax, al
add eax, ecx
je 0x4a9454
mov cl, 0x4c
mov eax, 0x19
movzx ecx, cl
cmp ecx, 9
je 0x4a86aa
mov eax, 0x1b
cmp ecx, 0x38
je 0x4a9168
mov eax, 0xc
cmp ecx, 0x4c
jne 0x4a8c93
mov ecx, 0x13
mov eax, 0x1f
mov esi, dword [esp + 0x48]
mov ebp, edx
mov edx, esi
and edx, 1
inc edx
xor edx, esi
sete dl
movzx edx, dl
cmp esi, edx
mov edx, ebp
je 0x4a957e
jmp 0x4a9226
mov ecx, edx
mov ebp, ebx
jmp 0x4a942b
mov edx, dword [esp + 0x64]
jmp 0x4a9454
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x68]
add eax, edx
mov ebp, 0x70000040
mov eax, 0x7000004e
cmovne ebp, eax
cmp ecx, 3
mov eax, 0x70000040
cmovne ebp, eax
mov eax, ecx
xor eax, ebx
cmove ebp, esi
cmp ecx, 1
cmove ebp, esi
mov dword [esp + 0x74], ebp
mov eax, edi
or eax, 2
mov ebp, edi
xor ebp, 2
add ebp, eax
setne al
movzx eax, al
cmp edi, eax
jb 0x4a86c0
jmp 0x4a9518
cmp dword [esp + 0x48], 0
je 0x4a87ab
mov ecx, dword [esp + 0x30]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
jne 0x4a877b
mov cl, 0x47
mov eax, 6
movzx ecx, cl
cmp ecx, 0x47
je 0x4a93d8
mov eax, dword [edi + 0xa8]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x74], 0x7000004e
cmp eax, ecx
je 0x4a9454
jmp 0x4a9518
cmp dword [esp + 0x70], 3
mov eax, 0x7000004e
mov ecx, 0x70000040
cmove ecx, eax
mov dword [esp + 0x74], ecx
jmp 0x4a9518
mov ecx, 0x19
mov edx, eax
and eax, 1
inc eax
xor eax, edx
mov edx, esi
jne 0x4a89c9
mov esi, 6
mov ecx, dword [esp + 0x5c]
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
jne 0x4a9071
mov al, 0x23
movzx ecx, al
cmp ecx, 0x23
je 0x4a8830
mov eax, 8
mov esi, 0xf
cmp ecx, 0x41
jne 0x4a93a1
cmp eax, 2
je 0x4a9454
mov esi, edx
imul eax, eax
and eax, 3
cmp eax, 3
je 0x4a8867
mov eax, 0x1d
mov ecx, dword [edi + 0xa8]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
mov dword [esp + 0x74], 0x7000004e
cmp ecx, edx
mov edx, esi
jne 0x4a9518
jmp 0x4a8d07
mov ecx, 0x17
mov dword [esp + 0x74], 0x7000004e
cmp dword [edi + 0xa8], 0
je 0x4a9454
cmp ecx, 0xa
je 0x4a9454
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x4a9518
jmp 0x4a9454
mov edx, esi
jmp 0x4a9454
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
add ecx, eax
mov edi, dword [esp + 0x70]
cmp edi, 3
mov ebp, 0x70000040
cmove ebp, edx
mov eax, edi
xor eax, esi
setne al
movzx eax, al
cmp edi, eax
cmove ebp, ebx
mov dword [esp + 0x74], ebp
mov edi, ecx
and edi, 1
xor edi, ecx
cmp edi, 0xffffffff
setne al
movzx eax, al
cmp ecx, eax
jb 0x4a8870
mov edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x24]
cmp eax, 0xb
je 0x4a87ab
xor eax, eax
test al, al
je 0x4a9518
jmp 0x4a87ab
mov byte [esp + 0x68], 0x12
call fcn.00447cf0
mov eax, dword [esp + 0x90]
mov ecx, eax
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
setne dl
cmp dword [ebx + 0x10], 0xa
je 0x4a92b9
mov ebp, ebx
mov byte [esp + 0x63], dl
mov eax, 8
mov dword [esp + 0x54], 0
mov byte [esp + 0x62], 0x44
test dl, 1
jne 0x4a818c
mov ecx, 0xe
movzx eax, byte [esp + 0x62]
cmp eax, 2
je 0x4a89b8
cmp eax, 0x1e
je 0x4a89c3
cmp eax, 0x44
mov ebx, ebp
jne 0x4a8a48
mov eax, 3
mov byte [esp + 0x62], 0x44
mov ecx, dword [esp + 0x98]
lea edx, [ecx + 0x34]
lea ecx, [ecx + 0x28]
test byte [esp + 0x63], 1
cmovne edx, ecx
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x8c]
mov ebp, dword [ecx + 0x110]
mov ecx, dword [ebx]
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
add edx, ecx
mov dword [esp + 0x74], 0x7000001f
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x64]
jne 0x4a8a8f
jmp 0x4a8cc2
mov edx, dword [esp + 0x64]
mov ebx, ebp
jmp 0x4a8ef1
mov edx, dword [esp + 0x64]
mov ebx, ebp
cmp ecx, 0xe
jne 0x4a8726
mov eax, 3
sub eax, ecx
xor eax, ecx
je 0x4a8726
mov eax, dword [esp + 0x98]
lea ecx, [eax + 0x34]
lea eax, [eax + 0x28]
test byte [esp + 0x63], 1
cmovne ecx, eax
mov dword [esp + 0x44], ecx
mov eax, dword [ebx]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
mov byte [esp + 0x62], 2
mov eax, dword [esp + 0x8c]
mov ebp, dword [eax + 0x110]
jne 0x4a8a8f
mov dword [esp + 0x38], ebp
mov eax, 0x18
mov dword [esp + 0x74], 0x7000001f
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x3c], ecx
cmp eax, 0xb
je 0x4a82dc
jmp 0x4a9518
mov eax, dword [esp + 0x98]
lea ecx, [eax + 0x34]
lea eax, [eax + 0x28]
test byte [esp + 0x63], 1
cmovne ecx, eax
mov dword [esp + 0x44], ecx
mov eax, dword [ebx]
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
mov dword [esp + 0x74], 0x7000001f
add ecx, eax
je 0x4a9518
mov byte [esp + 0x62], 0x53
jmp 0x4a8f44
mov esi, 0x10
mov dword [esp], edi
call fcn.0040b670
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
mov edx, 3
sub edx, ebp
xor edx, ebp
setne dl
movzx edx, dl
cmp ebp, edx
je 0x4a8ad9
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x3c], eax
je 0x4a91ab
mov eax, 0xc
mov ecx, 0x70000005
jmp 0x4a8ae6
mov eax, dword [esp + 0x54]
mov dword [esp + 0x3c], eax
jmp 0x4a91ab
mov dword [esp + 0x74], ecx
cmp eax, 0xc
je 0x4a9518
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4a9518
xor esi, esi
mov ebx, 0x70000056
jmp 0x4a8b3f
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
call fcn.00449410
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov ecx, 0x70000033
cmove ecx, ebx
test eax, eax
cmove ecx, ebx
mov dword [esp + 0x74], ecx
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x4a8b10
jmp 0x4a9518
mov esi, dword [ebx + 0x14]
cmp ebp, 3
setne cl
mov eax, ebp
and eax, 1
inc eax
mov edx, ebp
xor edx, eax
sete dl
or dl, cl
movzx ecx, dl
mov edx, esi
cmp ecx, 1
jne 0x4a8b8c
mov ecx, edx
and ecx, 4
mov dword [esp + 0x74], 0x70000005
je 0x4a9518
mov cl, 0x7d
movzx ecx, cl
cmp ecx, 0x1c
je 0x4a8bfc
cmp ecx, 0x7d
jne 0x4a8c55
mov eax, 9
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
setne cl
movzx ecx, cl
test edx, ecx
mov esi, edx
sete dl
mov dword [esp + 0x74], 0x70000005
cmp ebp, 3
jne 0x4a8cc0
mov ecx, 3
test dl, dl
mov edx, esi
je 0x4a8cc2
mov dword [esp + 0x38], ebp
cmp ecx, 3
jne 0x4a9454
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
jne 0x4a9518
jmp 0x4a9454
mov eax, edx
mov dword [esp + 0x64], edx
and eax, 1
sete cl
imul eax, eax
cmp eax, 2
sete dl
mov dword [esp + 0x38], ebp
cmp ebp, 3
sete al
mov esi, ebp
imul esi, esi
and esi, 3
cmp esi, 2
sete ah
or ah, al
mov dword [esp + 0x74], 0x70000005
movzx eax, ah
cmp eax, 1
jne 0x4a8cd0
mov eax, 4
or cl, dl
mov edx, dword [esp + 0x64]
jne 0x4a9308
jmp 0x4a8cd8
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
cmp ebp, 3
mov esi, edx
sete dl
xor eax, ebp
mov dword [esp + 0x38], ebp
sete al
or al, dl
mov dword [esp + 0x74], 0x70000005
movzx eax, al
cmp eax, 1
jne 0x4a8cd6
mov eax, 9
and ecx, esi
and ecx, 1
mov edx, esi
jne 0x4a8cd8
cmp eax, 9
je 0x4a9518
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4a9518
mov eax, 0xb
cmp dword [esp + 0x48], 0
jne 0x4a8726
jmp 0x4a88cd
mov edx, esi
mov dword [esp + 0x38], ebp
cmp eax, 3
jne 0x4a8cd8
jmp 0x4a9518
mov edx, dword [esp + 0x64]
jmp 0x4a8cd8
mov edx, esi
mov byte [esp + 0x4f], 0x2c
test dl, 2
jne 0x4a8d8f
mov ecx, edx
mov al, 0x23
movzx edx, al
cmp edx, 0x21
je 0x4a8d4b
mov esi, 8
mov eax, 0xd
cmp edx, 0x23
mov edx, ecx
jne 0x4a9370
cmp eax, 0xd
jne 0x4a9454
mov esi, 7
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ebp, edx
call fcn.00447da0
mov edx, ebp
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x74], 0x7000001b
cmp eax, ecx
je 0x4a9518
jmp 0x4a9278
mov ebp, ebx
mov edx, 7
cmp edx, 6
mov ebx, ebp
je 0x4a9518
xor eax, eax
test al, al
jne 0x4a9518
mov esi, 0x16
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ebp, ecx
call fcn.00447da0
mov edx, ebp
mov dword [esp + 0x74], 0x7000001b
test eax, eax
je 0x4a8133
mov esi, 5
mov eax, 4
movzx ecx, byte [esp + 0x4f]
cmp ecx, 0x73
je 0x4a90b9
cmp eax, 4
jne 0x4a8dec
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x4a8dec
mov dword [esp + 0x64], edx
mov byte [esp + 0x4f], 0x2c
mov dword [esp + 4], ebx
mov ebp, ebx
mov dword [esp], edi
call fcn.0040fc20
test eax, eax
jne 0x4a8e1e
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov bl, 0x50
jne 0x4a8e6c
jmp 0x4a9128
mov esi, 9
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x1c]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov dword [esp + 0x74], 0x70000040
cmp eax, ecx
je 0x4a839c
jmp 0x4a9518
mov bl, 0x50
jmp 0x4a9128
mov esi, 0xa6
add esi, 0xffffff66
inc ebx
call fcn.00449410
test eax, eax
mov eax, 0x70000056
mov ecx, 0x70000033
cmove ecx, eax
mov dword [esp + 0x74], ecx
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
cmp ebx, eax
jb 0x4a8e30
jmp 0x4a9509
mov esi, 8
mov dword [esp], edi
call fcn.0040ec40
test eax, eax
mov dword [esp + 0x74], 0x70000054
je 0x4a8e9c
imul eax, eax
and eax, 3
cmp eax, 3
mov ecx, dword [esp + 0x64]
mov ebx, ebp
jne 0x4a9518
jmp 0x4a8ea2
mov ecx, dword [esp + 0x64]
mov ebx, ebp
cmp esi, 5
jne 0x4a8f56
mov eax, 3
sub eax, esi
xor eax, esi
je 0x4a8f56
mov ebp, ecx
mov esi, 6
mov byte [esp + 0x2b], 0x14
mov byte [esp + 0x68], 0x5a
mov byte [esp + 0x61], 0x73
mov dword [esp], edi
call fcn.0040b8f0
cmp eax, 1
je 0x4a90b7
mov ecx, 0xc
cmp eax, 3
mov edx, ebp
je 0x4a836a
cmp ecx, 0xc
jne 0x4a8f05
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x4a9454
mov eax, dword [esp + 0x98]
lea ecx, [eax + 0x34]
lea eax, [eax + 0x28]
test byte [esp + 0x63], 1
cmovne ecx, eax
mov dword [esp + 0x44], ecx
mov eax, dword [ebx]
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
mov dword [esp + 0x74], 0x7000001f
add ecx, eax
je 0x4a9518
mov byte [esp + 0x62], 0x1e
mov eax, dword [esp + 0x8c]
mov ebp, dword [eax + 0x110]
jmp 0x4a8a8f
mov ebp, ecx
mov esi, 0x10
mov eax, dword [0x80dc00]
mov dword [esp], eax
call fcn.007c74c0
test eax, eax
jne 0x4a906f
mov esi, 0x1e
mov dword [esp + 4], 0
mov dword [esp], 0x32
xor ecx, ecx
mov edx, dword [esp + 0xa8]
call fcn.004acbb0
mov ebx, eax
mov eax, dword [0x80dc00]
mov dword [esp], eax
call fcn.007c74e0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4a91a0
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ebx, eax
jne 0x4a91c3
mov ebx, dword [esp + 0xa4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*8]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
call dword [eax*8 + 0x7f6198]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x74], 0
test eax, eax
je 0x4a9518
mov esi, ebp
mov al, 0x61
movzx eax, al
cmp eax, 0x61
jne 0x4a91f1
mov eax, dword [0x80dc00]
mov dword [esp], eax
call fcn.007c74c0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov edx, esi
je 0x4a9239
jmp 0x4a95b8
mov edx, ebp
mov dword [esp + 0x64], edx
cmp esi, 6
jne 0x4a95b8
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x4a95b8
xor ecx, ecx
mov eax, 0x34
add eax, 0xffffffdd
mov dword [esp + 0x24], eax
mov edx, 0x7000004e
mov esi, 3
sub esi, dword [esp + 0x70]
mov ebx, 0x70000034
mov dword [esp + 0x74], eax
jmp 0x4a88a3
mov edx, ebp
mov ebp, ebx
cmp esi, 5
je 0x4a90da
imul esi, esi
and esi, 3
cmp esi, 3
je 0x4a90da
mov al, byte [esp + 0x61]
mov cl, byte [esp + 0x68]
mov ebx, ebp
jmp 0x4a8261
mov dword [esp + 0x64], edx
mov esi, 4
mov byte [esp + 0x4f], 0x73
mov bl, 0x50
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.0040fc20
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4a9128
cmp esi, 1
jne 0x4a8e6c
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x4a8937
jmp 0x4a8e6c
mov eax, 0x16
movzx edx, bl
cmp edx, 0x28
je 0x4a9197
mov ecx, 2
mov eax, 0xb
cmp edx, 0x3d
mov edx, dword [esp + 0x64]
mov ebx, ebp
jne 0x4a9168
xor ebx, ebx
cmp ecx, 2
je 0x4a8e54
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne 0x4a9518
jmp 0x4a8e54
cmp eax, 0xb
jne 0x4a871b
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x4a871b
call fcn.00449410
test eax, eax
mov eax, 0x70000056
mov ecx, 0x70000033
jmp 0x4a878a
mov ecx, dword [esp + 0x74]
jmp 0x4a8ae6
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0xa4]
cmp esi, 0x10
je 0x4a8b57
xor eax, eax
test al, al
jne 0x4a8b57
jmp 0x4a9294
mov dword [esp + 0x74], ebx
mov eax, 4
mov edx, ebp
mov ebx, dword [esp + 0xa4]
cmp eax, 4
je 0x4a9518
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x4a9454
jmp 0x4a9518
mov eax, dword [0x80dc00]
mov dword [esp], eax
call fcn.007c74c0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov edx, esi
jne 0x4a95b8
mov eax, 0x10
mov dword [esp + 0x74], 0
cmp eax, 0x10
je 0x4a9239
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x4a8726
mov esi, 0x13
mov dword [esp + 4], 0x10
mov dword [esp], 0
mov ecx, ebx
mov ebp, edx
mov edx, dword [esp + 0xa8]
call fcn.004ad540
mov eax, dword [0x80dc00]
mov dword [esp], eax
call fcn.007c74e0
mov edx, ebp
test eax, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
jne 0x4a9294
cmp esi, 7
je 0x4a8d8f
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x4a9518
jmp 0x4a8d8f
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_unlock_lc__syserr__d__s__n
call fcn.00441610
call fcn.0044c0d0
mov byte [esp + 0x63], dl
mov eax, dword [esp + 0x98]
lea ecx, [eax + 0x34]
lea eax, [eax + 0x28]
test dl, 1
cmovne ecx, eax
mov dword [esp + 0x40], ecx
mov eax, dword [0x80dc00]
mov dword [esp], eax
call fcn.007c74c0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov edx, dword [esp + 0x64]
jne 0x4a95b8
mov eax, 9
mov byte [esp + 0x5b], 0x2d
cmp eax, 4
je 0x4a9518
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4a9518
mov dword [esp + 0x64], edx
mov eax, 0xe
movzx ecx, byte [esp + 0x5b]
cmp ecx, 0x2d
jne 0x4a933c
mov dl, byte [esp + 0x63]
jmp 0x4a94a9
mov ecx, dword [esp + 0xa8]
call fcn.004ac4b0
mov dword [esp + 0x50], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x4a94df
mov esi, 0x10
mov byte [esp + 0x5b], 0x39
mov edx, dword [esp + 0x64]
cmp esi, 8
jne 0x4a958d
mov esi, 5
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ebp, edx
call fcn.00447da0
mov edx, ebp
mov dword [esp + 0x74], 0x7000001b
test eax, eax
je 0x4a9518
cmp esi, 5
je 0x4a8d8f
mov esi, edx
mov eax, 1
mov ecx, dword [edi + 0xa8]
mov dword [esp + 0x74], 0x7000004e
test ecx, ecx
jne 0x4a93d6
mov edx, 3
sub edx, ecx
xor edx, ecx
mov edx, esi
jne 0x4a9454
jmp 0x4a93d8
mov edx, esi
mov ecx, eax
or ecx, 2
mov esi, edx
mov edx, eax
xor edx, 2
add edx, ecx
mov edx, esi
setne cl
movzx ecx, cl
cmp eax, ecx
je 0x4a9518
mov ecx, edx
mov ebp, ebx
mov eax, 0xc
mov edx, dword [edi + 0xa8]
mov esi, edx
imul esi, esi
and esi, 3
cmp esi, 3
sete bl
movzx esi, bl
mov dword [esp + 0x74], 0x7000004e
cmp edx, esi
mov edx, 6
jne 0x4a8d52
cmp eax, 0xc
mov ebx, ebp
mov edx, ecx
je 0x4a9454
imul eax, eax
and eax, 3
cmp eax, 3
je 0x4a9454
mov esi, edx
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4a8796
mov edx, esi
jmp 0x4a87ab
mov esi, 0xc
mov cl, byte [esp + 0x68]
movzx eax, cl
cmp eax, 0x51
je 0x4a8222
mov dword [esp + 0x64], edx
cmp eax, 0x5a
je 0x4a88e5
mov esi, 6
mov byte [esp + 0x68], 0x5a
call fcn.00447cf0
cmp dword [esp + 0x90], 0
setne dl
cmp dword [ebx + 0x10], 0xa
je 0x4a9530
mov eax, 7
xor ecx, ecx
test cl, cl
jne 0x4a9530
cmp eax, 7
je 0x4a8916
mov byte [esp + 0x63], dl
mov ecx, dword [esp + 0xa8]
call fcn.004ac4b0
mov dword [esp + 0x50], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4a9570
mov ecx, dword [esp + 0x40]
mov esi, 0x1b
mov eax, dword [edi + 0xf0]
mov dword [ecx], eax
mov eax, dword [0x80dc00]
mov dword [esp], eax
call fcn.007c74e0
mov dword [esp + 0x74], 0
test eax, eax
je 0x4a9518
cmp esi, 0xc
je 0x4a9518
xor eax, eax
test al, al
je 0x4a9294
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004302d0
mov eax, dword [esp + 0x74]
add esp, 0x78
pop esi
pop edi
pop ebx
pop ebp
ret
cmp esi, 5
jne 0x4a92b9
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
je 0x4a92b9
xor edi, edi
mov eax, dword [esp + 0x70]
mov ecx, eax
or ecx, 2
mov dword [esp + 0x68], ecx
mov edx, eax
xor edx, 2
mov ebx, eax
mov ecx, eax
and ebx, 1
inc ebx
mov esi, 0x70000034
jmp 0x4a8700
mov ecx, 5
mov byte [esp + 0x5b], 0x2d
mov edx, dword [esp + 0x64]
cmp ecx, 5
je 0x4a958d
xor eax, eax
test al, al
je 0x4a87ab
mov esi, 0xa
mov eax, dword [0x80dc00]
mov dword [esp], eax
mov ebp, edx
call fcn.007c74e0
mov edx, ebp
test eax, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
je 0x4a8498
jmp 0x4a9294
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_lock_lc__syserr__d__s__n
call fcn.00441610
call fcn.0044c0d0
int3