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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa0
mov dword [esp + 0x18], 0xd
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
call fcn.00648fd0
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x4c], 0x70000003
je 0x412eae
mov dword [esp + 0x80], 0
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x54], eax
mov dword [esp + 0x3c], eax
mov byte [esp + 0x39], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x42], al
mov byte [esp + 0x63], al
mov byte [esp + 0x7f], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x38], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x87], al
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x5c], eax
mov eax, 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], ecx
mov byte [esp + 0x78], cl
mov dword [esp + 0x44], ecx
je 0x412f2f
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xb4]
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.006490e0
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0x64], ebx
call fcn.00649060
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x412f77
mov dword [esp + 0x80], 0
mov ebp, 0x70000013
mov byte [esp + 0x39], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x42], al
mov byte [esp + 0x63], al
mov byte [esp + 0x7f], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x38], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x87], al
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x88], 0
mov ebx, dword [esp + 0x64]
mov dl, 8
jmp 0x4149e2
mov dword [esp + 0x80], 0
mov dword [esp + 0x54], eax
mov dword [esp + 0x3c], eax
mov byte [esp + 0x39], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x42], al
mov byte [esp + 0x63], al
mov byte [esp + 0x7f], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x38], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x87], al
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x5c], eax
mov eax, 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], ecx
mov byte [esp + 0x78], cl
mov dword [esp + 0x44], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x74], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x90], edx
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x18], 0xd
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
je 0x413109
xor ecx, ecx
test cl, cl
mov dword [esp + 0x18], edx
mov cl, byte [esp + 0x78]
je 0x4140be
jmp 0x413f38
mov al, 0x5b
movzx eax, al
cmp eax, 0x7d
jne 0x41302c
mov eax, 2
mov dword [esp + 0x80], 0
mov byte [esp + 0x39], cl
mov byte [esp + 0x3b], cl
mov byte [esp + 0x42], cl
mov byte [esp + 0x63], cl
mov byte [esp + 0x7f], cl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x43], cl
mov byte [esp + 0x38], cl
mov byte [esp + 0x3a], cl
mov byte [esp + 0x87], cl
mov ebp, 0x70000013
mov dword [esp + 0x54], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x88], 0
mov ebx, dword [esp + 0x64]
mov dl, 8
jmp 0x4141e6
mov esi, 0xf
mov al, 0x1d
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00649510
mov edi, eax
mov dword [esp], edi
call fcn.007ca950
mov dword [esp], eax
mov dword [esp + 4], 0x7d5f17
call fcn.006492a0
test eax, eax
jne 0x413112
mov byte [esp + 0x87], 0x40
mov dword [esp + 0x30], edi
mov byte [esp + 0x39], 8
mov ecx, eax
mov dword [esp + 0x2c], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x54], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3c], eax
mov byte [esp + 0x42], al
mov byte [esp + 0x63], al
mov byte [esp + 0x7f], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x38], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], al
mov dword [esp + 0x4c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], eax
mov dl, 8
jb 0x414376
jmp 0x414881
mov dword [esp + 0x18], edx
jmp 0x413f38
mov byte [esp + 0x87], 0x40
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
mov byte [esp + 0x39], 8
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x3b], al
mov byte [esp + 0x42], al
mov byte [esp + 0x63], al
mov byte [esp + 0x7f], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x38], al
mov byte [esp + 0x3a], al
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], eax
mov dl, 8
jmp 0x414881
imul ebx, ebx
and ebx, 3
cmp ebx, 2
jae 0x4143f5
mov esi, edx
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00649510
test eax, eax
je 0x4131f6
mov dword [esp + 0x24], ebp
mov byte [esp + 0x3b], 0x54
mov byte [esp + 0x39], 8
mov ebx, 2
mov dword [esp + 0x50], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov edx, esi
mov ebp, dword [esp + 0x5c]
jne 0x41348a
jmp 0x414376
mov byte [esp + 0x3b], 0x54
mov dword [esp + 0x50], eax
mov byte [esp + 0x39], 8
mov edx, esi
jmp 0x414376
mov eax, 0xea
add al, 0x33
mov dword [esp + 0x90], eax
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov dword [esp + 4], 0
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
call fcn.004414c0
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x413210
mov dword [esp + 0x80], 0
mov ebp, 0x70000013
mov dword [esp + 0x88], 0
mov edx, edi
jmp 0x4147fa
mov esi, 0xb
mov byte [esp + 0x3b], 0x5f
mov dword [esp], ecx
mov dword [esp + 0x50], ecx
call fcn.007c3e70
mov dword [esp + 0x48], eax
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00493840
mov ebp, 0x70000003
test eax, eax
jne 0x413304
mov byte [esp + 0x87], bl
mov dword [esp + 0x80], 0
mov byte [esp + 0x42], 0x28
mov edx, eax
or edx, 2
mov ecx, eax
mov dword [esp + 0x8c], eax
xor ecx, 2
add ecx, edx
mov dword [esp + 0x88], 0
mov dword [esp + 0x24], 0
mov edx, edi
jne 0x4147fa
jmp 0x41469b
mov byte [esp + 0x87], bl
mov dword [esp + 0x80], 0
mov dword [esp + 0x8c], eax
mov byte [esp + 0x42], 0x28
mov dword [esp + 0x24], 0
mov edx, edi
jmp 0x41469b
mov byte [esp + 0x42], 6
mov byte [esp + 0x63], 0x16
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
mov dword [esp + 0x78], 0
cmp edi, eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x70], 0
je 0x4134b1
mov edi, edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov cl, byte [eax + edx]
mov al, cl
add al, 0xf7
movzx eax, al
cmp eax, 0x17
ja 0x4133a9
mov esi, edx
mov edx, 0x800013
bt edx, eax
mov edx, esi
jae 0x4133a9
mov esi, dword [esp + 0x78]
mov dword [esp + 0x68], esi
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x64]
mov cl, byte [esp + 0x63]
jmp 0x4133e3
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], edx
mov eax, 0x1d
mov esi, edx
mov ebp, dword [esp + 0x78]
mov edx, ebp
imul edx, edx
and edx, 3
cmp edx, 2
mov edx, ebp
adc edx, 0
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x8c]
mov byte [ebx + ebp], cl
mov dword [esp + 0x3c], esi
jmp 0x414611
mov byte [esp + 0x63], cl
mov eax, 6
movzx edx, cl
cmp edx, 0x16
je 0x413412
mov ecx, 8
mov eax, 2
cmp edx, 0x5a
mov dword [esp + 0x54], esi
mov edx, edi
je 0x41407c
jmp 0x4139c9
mov dword [esp + 0x64], ebx
mov dword [esp + 0x54], esi
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x78], ecx
mov edx, edi
mov bl, byte [esp + 0x87]
jmp 0x41453b
mov dword [esp + 0x5c], ebp
mov edi, dword [esp + 0x54]
mov esi, 3
mov byte [esp + 0x63], 0x16
mov ecx, dword [esp + 0x3c]
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx ebp, al
add ebp, ecx
mov eax, dword [esp + 0x48]
cmp ebp, eax
je 0x413498
mov dword [esp + 0x64], ebx
mov ebx, 0x10
mov ecx, ebp
mov dword [esp + 0x58], ebp
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov dword [esp + 0x78], edi
mov dword [esp + 0x70], edi
mov ebp, dword [esp + 0x5c]
je 0x413729
cmp ebx, 2
jne 0x41336c
jmp 0x414289
mov dword [esp + 0x58], ebp
mov dword [esp + 0x64], ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x70], edi
mov ebp, dword [esp + 0x5c]
jmp 0x413729
mov esi, edx
mov ebx, dword [esp + 0x70]
lea eax, [ebx + ebx*2 + 4]
shr eax, 2
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
test eax, eax
mov ebp, 0x70000003
je 0x413570
xor ecx, ecx
test cl, cl
mov edx, esi
jne 0x41359b
mov dword [esp + 0x94], eax
mov al, 0x1a
movzx eax, al
cmp eax, 0xf
jne 0x4135c4
mov esi, 0x12
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x8c]
mov dword [esp + 8], ebp
lea eax, [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov edi, edx
call fcn.007aadf0
mov edx, edi
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0x5c], 0x70000003
cmp eax, ecx
mov dword [esp + 0x80], ebp
mov ebp, 0
mov dword [esp + 0x20], ebx
mov ecx, 0
mov al, byte [esp + 0x87]
jne 0x4147aa
jmp 0x41364e
mov dword [esp + 0x94], eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], 0
mov edx, esi
jmp 0x4147fa
mov dword [esp + 0x94], eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], 0
jmp 0x4147fa
mov dword [esp + 0x88], 0
mov eax, 0xf
mov ebp, 0x70000003
mov ecx, dword [esp + 0x8c]
mov edi, ebx
jmp 0x414821
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov dword [esp + 4], 0
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
mov edi, edx
call fcn.004414c0
mov edx, edi
mov ebp, 0x70000013
mov ecx, ebx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x4135f0
mov dword [esp + 0x80], ecx
jmp 0x4147fa
mov byte [esp + 0x87], al
mov edi, edx
mov esi, 0xa
mov bl, 0x5e
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00626ca0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4136d2
mov dword [esp + 0x24], ebp
mov dword [esp + 0x74], eax
mov byte [esp + 0x7f], 0x5e
mov eax, 0x1f
mov byte [esp + 0x2b], 0x1f
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x6c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov edx, edi
mov ebp, dword [esp + 0x5c]
jne 0x413988
jmp 0x4137b3
mov dword [esp + 0x88], ebp
mov edx, edi
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x5c]
jmp 0x41451e
mov esi, 0xe
mov byte [esp + 0x7f], 0x43
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
call fcn.004414c0
mov ebp, 0x70000013
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x24], eax
mov edx, edi
cmp esi, 3
mov eax, dword [esp + 0x24]
je 0x4134b1
imul esi, esi
and esi, 3
cmp esi, 3
mov dword [esp + 0x88], eax
jne 0x4147fa
jmp 0x4134b1
cmp ecx, 0x1f
mov eax, dword [esp + 0x78]
jne 0x413771
mov byte [esp + 0x2b], 0x1d
cmp dword [edi], 0x76746332
mov dword [esp + 0x68], eax
je 0x413a06
jmp 0x4137b3
mov esi, edx
mov byte [esp + 0x2b], 0x1f
mov ecx, dword [edi]
cmp ecx, 0x76746332
je 0x4137a4
mov eax, 3
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov edx, esi
jne 0x4145a9
jmp 0x413a06
mov eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov edx, esi
jmp 0x413a06
xor esi, esi
mov bl, 1
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x80]
jmp 0x4137fc
inc esi
mov dword [esp + 4], 0
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
mov edi, edx
call fcn.004414c0
mov edx, edi
mov ebp, 0x70000011
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x94]
test esi, esi
je 0x4137d0
test bl, bl
je 0x4137d0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
jmp 0x4147fa
mov eax, dword [ebx + 8]
test eax, eax
mov edx, dword [esp + 0x44]
je 0x413844
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x43], 0x1f
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x413d59
jmp 0x41384d
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x43], 0x1f
mov edi, edx
mov eax, 0xc
mov esi, dword [esp + 0x6c]
mov ecx, dword [esi + 0x14]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x41389c
mov dword [esp + 4], 0
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
call fcn.004414c0
mov ebp, 0x70000013
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
jmp 0x41391e
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov cl, byte [esp + 0x43]
mov edx, dword [esp + 0x1c]
mov bl, byte [esp + 0x87]
cmp eax, 0xc
je 0x4138eb
mov byte [esp + 0x43], cl
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x413900
mov dword [esp + 0x6c], esi
mov byte [esp + 0x87], bl
mov cl, 0x1c
mov eax, dword [edx + 0x18]
mov dword [esp + 0x34], eax
test eax, eax
mov ebx, dword [esp + 0x64]
jne 0x4140be
jmp 0x4141cf
mov byte [esp + 0x87], bl
mov dword [esp + 0x6c], esi
mov dword [esp + 0x1c], edx
mov byte [esp + 0x43], cl
jmp 0x41390f
mov byte [esp + 0x87], bl
mov dword [esp + 0x6c], esi
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
mov edx, edi
jmp 0x413d59
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov edx, edi
jmp 0x4147fa
mov bl, 0x79
test ecx, ecx
je 0x413954
mov byte [esp + 0x38], 0x56
mov esi, edx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
mov dl, 0x56
jne 0x41396c
jmp 0x413d8e
mov byte [esp + 0x38], 0x56
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
jmp 0x413d9e
mov byte [esp + 0x3a], bl
mov eax, 0xf
mov ecx, 0xa
movzx edx, dl
cmp edx, 0x4d
mov edx, esi
je 0x413b44
cmp eax, 0xf
je 0x413a66
imul eax, eax
and eax, 3
cmp eax, 3
je 0x413a66
mov eax, 0x12
mov cl, byte [esp + 0x2b]
movzx ecx, cl
cmp ecx, 0x1d
mov edi, dword [esp + 0x6c]
jne 0x413751
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], ebx
cmp eax, 2
je 0x413a30
imul eax, eax
and eax, 3
cmp eax, 2
je 0x413a30
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
cmp eax, 0x76746332
jne 0x413a82
mov byte [esp + 0x2b], 0x63
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x54], esi
jae 0x4137b3
mov esi, 5
mov byte [esp + 0x38], 0x56
mov byte [esp + 0x43], 0x11
mov eax, dword [esp + 0x6c]
cmp dword [eax + 4], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
je 0x41384d
jmp 0x413adc
mov byte [esp + 0x63], 0x35
mov ecx, dword [esp + 0x3c]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
adc ecx, 0
mov dword [esp + 0x58], ecx
cmp ecx, dword [esp + 0x48]
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x78], esi
jne 0x41336c
jmp 0x4134b1
mov dword [esp + 0x44], edx
mov cl, 0x24
mov dl, 0x31
mov ebx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x413b71
jmp 0x413b93
mov byte [esp + 0x2b], 0x63
mov dword [esp + 0x54], esi
jmp 0x4137b3
mov eax, ebx
and eax, 1
xor eax, ebx
cmp eax, 0xffffffff
setne al
movzx eax, al
add ebx, eax
mov dword [esp], str.License_is_unsupported_for_missing_id_n
call fcn.004414c0
mov eax, ebx
imul eax, eax
and eax, 3
test ebx, ebx
je 0x413a90
cmp eax, 2
je 0x413a90
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x44]
cmp esi, 5
je 0x413afc
imul esi, esi
and esi, 3
cmp esi, 2
je 0x413afc
mov eax, dword [esp + 0x24]
mov dword [esp + 0x88], eax
jmp 0x4147fa
mov dword [esp + 0x44], edx
mov al, byte [esp + 0x43]
movzx edx, al
cmp edx, 0x11
je 0x413b28
mov eax, 1
mov ecx, 0xc
cmp edx, 0x5c
mov ebx, dword [esp + 0x6c]
je 0x413d2a
jmp 0x413c53
mov ecx, 3
mov byte [esp + 0x43], 0x5c
mov eax, dword [esp + 0x6c]
cmp dword [eax + 8], 0
mov edx, dword [esp + 0x44]
jne 0x413d59
cmp ecx, 3
je 0x41384d
mov dword [esp + 0x44], edx
mov cl, 0x24
mov dl, 0x31
mov ebx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x14]
mov esi, eax
imul esi, esi
and esi, 3
cmp esi, 2
sete ch
movzx esi, ch
cmp eax, esi
jne 0x413b93
mov edi, ebx
movzx eax, dl
cmp eax, 0x31
jne 0x413bf8
xor ebx, ebx
mov esi, 0x89
add esi, 0xffffff8c
mov dword [esp + 0x6c], edi
mov ebp, 0x70000013
jmp 0x413aae
movzx ecx, cl
cmp ecx, 0xc
mov edx, dword [esp + 0x44]
je 0x413c28
cmp ecx, 0x24
jne 0x413c45
mov dword [esp + 0x6c], ebx
mov edi, edx
xor ecx, ecx
mov bl, byte [esp + 0x3a]
jmp 0x413bcf
cmp edx, 2
adc ecx, 0
mov edx, dword [esp + 0xc4]
mov dword [edx], eax
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb esi, esi
and esi, 1
cmp ecx, esi
jb 0x413bc0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov edx, edi
jmp 0x413d9e
mov eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x14], 0xd
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x20]
jmp 0x413ff0
mov dword [esp + 0x6c], ebx
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
jmp 0x413c72
mov ecx, 8
mov edx, dword [esp + 0xc4]
mov dword [edx], eax
cmp ecx, 8
jne 0x41381f
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x44]
mov bl, byte [esp + 0x3a]
jmp 0x413d9e
mov byte [esp + 0x3a], 0x5f
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov ebp, 0x70000013
je 0x413cc2
mov al, 0x69
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x8c], ecx
jne 0x4144bf
jmp 0x4147fa
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], eax
jmp 0x4147fa
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x1c]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x413def
mov eax, 0xe
mov ebp, 0x70000013
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x24], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jne 0x413dd7
mov byte [esp + 0x43], 0x11
cmp dword [ebx + 8], 0
mov dword [esp + 0x6c], ebx
mov edx, dword [esp + 0x44]
je 0x41384d
movzx eax, byte [esp + 0x38]
cmp eax, 0x56
mov ecx, dword [esp + 0xc4]
je 0x413933
mov esi, edx
mov bl, 0x79
mov dl, 0x56
test ecx, ecx
jne 0x413dcd
mov byte [esp + 0x38], 0x7a
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x41396c
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov edx, esi
mov ecx, 3
movzx eax, bl
cmp eax, 0x79
je 0x413c7b
mov byte [esp + 0x3a], bl
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], eax
mov bl, byte [esp + 0x87]
jmp 0x414467
mov byte [esp + 0x38], 0x7a
jmp 0x41396c
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x44]
jmp 0x4147fa
mov esi, dword [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
mov dword [esi], eax
mov ebp, 0x70000003
test eax, eax
je 0x413ea2
mov edi, 0x70000003
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0xc0]
xor ebp, ebp
jmp 0x413e65
mov eax, ebp
and eax, 1
xor eax, ebp
cmp eax, 0xffffffff
setne al
movzx eax, al
add ebp, eax
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x1c]
mov dword [ebx], ecx
mov eax, dword [eax + 0x18]
mov edx, dword [esi]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.007c51d0
xor edi, edi
mov eax, ebp
or eax, 2
mov ecx, ebp
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebp, eax
jb 0x413e30
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x44]
mov ebp, edi
jmp 0x4147fa
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x44]
jmp 0x4147fa
mov dword [esp + 0x70], ebx
mov dword [esp + 0x20], edi
mov byte [esp + 0x87], 0x40
mov al, 0x28
mov edi, dword [esp + 0x30]
test edi, edi
je 0x414948
mov ebx, dword [esp + 0x64]
jmp 0x414987
mov ecx, 0x95
add cl, 0x73
mov edi, ecx
cmp eax, 2
adc esi, 0
mov dword [esp], ebx
call fcn.00649040
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb ecx, ecx
and ecx, 1
cmp esi, ecx
jb 0x413f00
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.004936c0
mov esi, dword [esp + 0x98]
test esi, esi
jne 0x413f72
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x4141d7
mov al, 0xa
mov ecx, 0xc
movzx edx, al
cmp edx, 0xa
je 0x41406b
mov eax, 0x11
cmp edx, 0x5f
jne 0x414160
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x414193
mov dword [esp + 0x18], 0x16
mov dword [esp + 0x14], 0xc
mov edx, 3
sub edx, eax
xor edx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x44], edi
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x6c]
mov byte [esp + 0x78], 0x1c
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x88]
je 0x412f2f
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x74], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x90], edx
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x14]
cmp eax, 0xc
je 0x41418b
imul eax, eax
and eax, 3
cmp eax, 3
mov esi, ecx
je 0x41418f
mov dword [esp], str.License_is_unsupported_for_missing_id_n
call fcn.004414c0
mov edx, dword [esp + 0x44]
mov ebp, 0x70000013
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
jmp 0x4147fa
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], esi
mov edx, edi
cmp ecx, 8
jne 0x414092
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne 0x413430
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x414185
mov dword [esp + 0x34], eax
mov edi, edx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov cl, 0x1c
mov edx, dword [esp + 0x1c]
je 0x4141cf
movzx ecx, cl
cmp ecx, 0xd
je 0x4140d9
mov eax, 0x13
cmp ecx, 0x23
je 0x4140ff
cmp ecx, 0x72
mov ebp, dword [esp + 0x68]
jne 0x41411a
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x98]
mov dword [eax + 0x18], 0
mov edx, dword [esp + 0x98]
jmp 0x4141cf
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov edx, edi
jmp 0x4148d0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x64], ebx
mov esi, 0xa
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x98]
mov dword [eax + 0x18], 0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov dword [esp + 0x78], ebp
mov bl, byte [esp + 0x87]
mov ecx, dword [esp + 0x50]
jmp 0x414329
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x24], ecx
mov edx, esi
mov bl, byte [esp + 0x87]
mov esi, dword [esp + 0x6c]
mov cl, byte [esp + 0x43]
jmp 0x4138b3
mov edx, dword [esp + 0x1c]
jmp 0x4141cf
mov edx, ecx
jmp 0x4141cf
mov edx, esi
jmp 0x4141cf
mov dword [esp + 0x18], 0x16
mov dword [esp + 0x44], edi
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x6c]
mov byte [esp + 0x78], 0x1c
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x88]
jmp 0x412f2f
mov dword [esp], edx
call fcn.00626d90
mov eax, dword [esp + 0x4c]
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
cmp eax, 2
jne 0x414250
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x414250
mov esi, 0xc
mov al, 0x1d
mov dword [esp + 0x90], eax
mov byte [esp + 0x39], 8
mov dword [esp], ebx
mov dword [esp + 0x64], ebx
mov byte [esp + 0x87], 0x40
mov edi, edx
call fcn.00649510
mov dword [esp + 0x30], eax
mov dword [esp], eax
call fcn.007ca950
mov dword [esp], eax
mov dword [esp + 4], 0x7d5f17
call fcn.006492a0
mov edx, edi
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x4146ea
jmp 0x414376
mov dword [esp + 0x30], edi
mov edi, edx
jmp 0x413f18
mov byte [esp + 0x3b], 0x54
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00649510
test eax, eax
je 0x41436b
mov dword [esp + 0x50], eax
mov byte [esp + 0x39], 0x32
xor eax, eax
test al, al
mov edx, esi
jne 0x414376
mov edi, edx
mov esi, 4
movzx eax, byte [esp + 0x3b]
cmp eax, 0x5f
mov ecx, dword [esp + 0x50]
mov bl, byte [esp + 0x87]
jne 0x414329
mov byte [esp + 0x3b], 0x54
mov dword [esp], ecx
call fcn.007c3e70
mov dword [esp + 0x48], eax
mov edx, eax
or edx, 2
mov ecx, eax
xor ecx, 2
add ecx, edx
setne cl
movzx ecx, cl
add ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00493840
mov ebp, 0x70000003
test eax, eax
jne 0x414345
mov dword [esp + 0x80], 0
mov byte [esp + 0x42], 0x28
mov ecx, eax
mov dword [esp + 0x8c], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x24], 0
mov dword [esp + 0x88], 0
mov edx, edi
jb 0x4147fa
jmp 0x414405
cmp esi, 4
je 0x413275
xor eax, eax
test al, al
jne 0x413275
mov edx, dword [esp + 0x18]
jmp 0x4141cf
mov dword [esp + 0x80], 0
mov dword [esp + 0x8c], eax
mov byte [esp + 0x42], 0x28
mov dword [esp + 0x24], 0
mov edx, edi
jmp 0x414405
mov dword [esp + 0x50], eax
mov byte [esp + 0x39], 0x32
mov edx, esi
mov edi, edx
mov eax, dword [esp + 0x90]
movzx eax, al
xor esi, esi
cmp eax, 0x1d
je 0x413240
mov ebx, 0xd4
xor ebx, 0xc2
jmp 0x4143d1
mov al, bl
xor al, 0x5a
mov dword [esp + 0x90], eax
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov dword [esp + 4], 0
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
call fcn.004414c0
test esi, esi
je 0x4143a0
mov dword [esp + 0x80], 0
mov dword [esp + 0x5c], 0x70000013
xor ebp, ebp
mov edx, edi
cmp ebx, 9
je 0x4131a2
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x5c]
jmp 0x4147fa
movzx eax, byte [esp + 0x42]
cmp eax, 0x28
mov edi, dword [esp + 0x48]
je 0x413331
mov ecx, 0x11
mov eax, 0x15
mov byte [esp + 0x42], 0x28
mov byte [esp + 0x63], 0x16
mov esi, edx
mov edx, edi
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
mov dword [esp + 0x78], 0
cmp edi, edx
mov edx, esi
mov dword [esp + 0x58], 0
mov dword [esp + 0x70], 0
mov bl, byte [esp + 0x87]
jne 0x41453b
cmp ecx, 3
jne 0x4145ca
mov esi, 9
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov ebp, 0x70000013
je 0x414676
mov byte [esp + 0x87], bl
mov byte [esp + 0x3a], 0x79
mov al, 0x69
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x24], ecx
je 0x41469b
movzx eax, al
cmp eax, 0x69
je 0x413ce3
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x1c]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x413def
mov esi, 4
mov ebp, 0x70000013
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x44]
mov bl, byte [esp + 0x7f]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x74], eax
cmp esi, 4
jne 0x4145d6
mov byte [esp + 0x7f], bl
jmp 0x4147fa
cmp eax, 6
je 0x414552
xor eax, eax
test al, al
jne 0x414552
mov byte [esp + 0x87], bl
jmp 0x41336c
mov esi, edx
mov ecx, dword [esp + 0x3c]
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx edx, al
add edx, ecx
mov eax, dword [esp + 0x48]
cmp edx, eax
jne 0x4146c3
mov byte [esp + 0x87], bl
mov byte [esp + 0x63], 0x5a
mov eax, 6
mov ecx, edx
or ecx, 2
mov dword [esp + 0x58], edx
xor edx, 2
add edx, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ecx
mov edx, esi
je 0x41336c
cmp eax, 3
jne 0x4134b1
mov eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x24], eax
jmp 0x4137b3
mov byte [esp + 0x87], bl
jmp 0x4134b1
mov esi, 1
movzx ecx, bl
cmp ecx, 0x43
je 0x4146e6
mov edi, edx
mov eax, 0xd
cmp ecx, 0x5e
je 0x4136eb
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x7f], bl
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x8c]
cmp eax, 0xd
mov cl, byte [esp + 0x63]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x5c]
jne 0x41465e
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x41465e
mov byte [esp + 0x7f], 0x5e
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
call fcn.004414c0
mov ebp, 0x70000013
mov dword [esp + 0x80], ebx
mov dword [esp + 0x8c], ebx
jmp 0x41391e
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x68], edx
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x64]
jmp 0x4133e3
mov byte [esp + 0x87], bl
mov byte [esp + 0x3a], 0x79
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x24], eax
cmp esi, 9
jne 0x414405
mov eax, 3
sub eax, esi
xor eax, esi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x88], eax
jne 0x4147fa
jmp 0x414405
mov byte [esp + 0x87], bl
mov dword [esp + 0x58], edx
mov byte [esp + 0x63], 0x5a
mov eax, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], eax
mov edx, esi
jmp 0x41336c
mov byte [esp + 0x7f], bl
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
jne 0x4147d1
mov dword [esp + 0x44], edx
xor ebx, ebx
mov eax, 0xc7
lea edi, [eax + eax - 0xc4]
lea esi, [eax - 0xc4]
mov ecx, dword [esp + 0x80]
jmp 0x414779
mov ecx, edi
mov al, cl
add al, 0x57
mov byte [esp + 0x7f], al
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov dword [esp], str.License_is_corrupt_invalid__error_0x_x__n
call fcn.004414c0
mov ebp, 0x70000013
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ebx, eax
jb 0x414730
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x44]
mov al, byte [esp + 0x87]
mov ecx, dword [esp + 0x88]
cmp esi, 3
je 0x4147e8
mov dword [esp + 0x88], ecx
mov byte [esp + 0x87], al
mov eax, esi
and eax, 1
inc eax
xor eax, esi
mov ebp, dword [esp + 0x5c]
jne 0x41495f
jmp 0x4147fa
mov dword [esp + 0x5c], ebp
mov al, byte [esp + 0x87]
mov ecx, dword [esp + 0x88]
jmp 0x4148ad
mov dword [esp + 0x88], ecx
mov byte [esp + 0x87], al
mov ebp, dword [esp + 0x5c]
mov eax, 4
mov cl, byte [esp + 0x87]
movzx ecx, cl
cmp ecx, 0x26
jne 0x414936
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], ecx
cmp eax, 4
je 0x413ecb
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x413ecb
mov dword [esp + 0x70], ebx
mov esi, 0x16
mov dword [esp + 0xc], edi
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
lea eax, [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov edi, edx
call fcn.007aadf0
mov edx, edi
test eax, eax
jne 0x41495f
mov dword [esp + 0x5c], ebp
cmp esi, 0xf
mov al, byte [esp + 0x87]
mov ecx, dword [esp + 0x88]
jne 0x414974
imul esi, esi
and esi, 3
cmp esi, 2
mov ebp, ecx
jae 0x41364e
mov byte [esp + 0x87], al
mov ebx, 9
mov eax, 0xc
mov esi, ecx
movzx ecx, byte [esp + 0x39]
cmp ecx, 8
mov ebp, esi
je 0x4143ec
mov esi, edx
cmp eax, 0xc
je 0x41425b
xor esi, esi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
jmp 0x41491b
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov dword [esp], edi
call fcn.004936c0
mov eax, dword [esp + 0x98]
mov dword [eax + 0x18], 0
mov edx, dword [esp + 0x98]
test esi, esi
jne 0x4141cf
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
jne 0x4148f0
jmp 0x4141cf
mov al, 0x28
mov edi, dword [esp + 0x30]
test edi, edi
jne 0x41497b
mov byte [esp + 0x87], 0x26
mov ecx, edi
and ecx, 1
xor ecx, edi
not ecx
test ecx, ecx
mov ebx, dword [esp + 0x64]
jne 0x4149e2
jmp 0x414987
xor esi, esi
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
jmp 0x41362f
mov ebp, ecx
jmp 0x41364e
mov byte [esp + 0x87], 0x26
mov ebx, dword [esp + 0x64]
movzx eax, al
cmp eax, 0x28
je 0x4149a4
mov dword [esp + 0x5c], ebp
mov ebp, edx
cmp eax, 0x34
jne 0x4149b2
mov dword [esp], edi
call fcn.00649130
jmp 0x4149dc
mov dword [esp], edi
mov esi, edx
call fcn.00649130
mov edx, esi
jmp 0x4149e2
mov dword [esp + 0x64], ebx
xor esi, esi
mov ebx, 3
jmp 0x4149ca
inc esi
mov dword [esp], edi
call fcn.00649130
dec ebx
mov eax, esi
xor eax, ebx
setne al
movzx eax, al
cmp esi, eax
jb 0x4149c0
mov ebx, dword [esp + 0x64]
mov edx, ebp
mov ebp, dword [esp + 0x5c]
mov eax, 0xa
movzx ecx, dl
cmp ecx, 8
jne 0x4141e6
mov dword [esp + 0x30], edi
mov edi, edx
xor esi, esi
jmp 0x414a22
mov eax, 0x73
add al, 0xc6
mov edi, eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
add esi, eax
mov dword [esp], ebx
call fcn.00649040
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jae 0x413f2c
jmp 0x414a00